Solución:
Creo que el problema probablemente sea que $ docker-compose up
por sí solo no reconstruirá sus imágenes si realiza cambios. Para obtener docker-compose
para incluir sus cambios en su requirements.txt
tendrás que pasar el --build
bandera a docker-compose
.
Es decir, en su lugar, ejecute:
docker-compose -f docker-compose-dev.yml up --build -d
Que forzará a docker-compose
reconstruir la imagen. Sin embargo, esto reconstruirá todas las imágenes en el docker-compose
archivo que puede o no ser deseado.
Si solo desea reconstruir la imagen de un único servicio, primero puede ejecutar docker-compose -f docker-compose-dev.yml build web
, luego ejecute su original docker-compose
mando.
Más información sobre build
comando aquí.
Intente instalar los requisitos del archivo copiado
https://docs.docker.com/develop/develop-images/dockerfile_best-practices/
Es un ejemplo de su Dockerfile
COPY requirements.txt /tmp/
RUN pip install --requirement /tmp/requirements.txt
Esto es lo que tienes
RUN pip install -r requirements.txt
Luego, una vez que haya cambiado su archivo docker, debe detener su contenedor, eliminar su imagen, crear una nueva y ejecutar el contenedor desde ella.
Detenga el contenedor y retire la imagen.
docker-compose down
docker-compose --rmi all
--rmi all
– elimina todas las imágenes. Es posible que desee utilizar --rmi IMAGE_NAME
Y para iniciarlo (si no usa parámetros predeterminados, cambie estos comandos con sus argumentos).
docker-compose up
Actualizar
En caso de que tenga Docker en ejecución y no desee detenerlo y reconstruir una imagen (si solo desea instalar un paquete o ejecutar algunos comandos o incluso iniciar una nueva aplicación), puede conectar el contenedor desde su máquina local y ejecutar comandos de línea de comando.
docker exec -it [CONTAINER_ID] bash
Llegar [CONTAINER_ID]
, correr
docker ps
Nota docker-compose ps
le dará los nombres de los contenedores, pero necesita la identificación del contenedor para ssh el contenedor.