当我更改代码时,容器不会自动更新它。只有当我运行docker-compose build
命令时才会更新。
如何在代码更改时自动更新Docker容器,而无需手动运行docker-compose build
Docker-compose文件:
version: '3.8'
services:
backend:
build: .
image: app:backend
container_name: backend
command: 'python manage.py runserver 0.0.0.0:8000'
restart: always
ports:
- 8000:8000
volumes:
- .:/app
码头工人文件:
FROM python:3.9
ENV PYTHONUNBUFFERED 1
RUN mkdir /app
WORKDIR /app
COPY requirements.txt /app/requirements.txt
COPY . /app
您可以通过使用绑定卷来实现,尝试如下:
version: '3.8'
services:
backend:
build: .
image: app:backend
container_name: backend
command: 'python manage.py runserver 0.0.0.0:8000'
restart: always
ports:
- 8000:8000
volumes:
- type: bind
- source: .
- target: app
通过这种方式,当你的容器运行时,你改变了任何代码,它会反射到容器,程序会重新启动。