Docker 撰写更改后不更新图像

dav*_*idb 6 yaml docker docker-compose

我有一个用于 docker compose 的 yml 文件来创建两个容器并连接它们。我今天对代码进行了一些更改(替换了要添加到其中一个 docker 文件中的文件夹)。这是 yml 文件:

version: '3'
services:
  web:
    build: ./web
    ports:
     - "8000:8000"
    restart: always
    volumes:
     - web:/www

  nginx:
    build: ./nginx
    ports:
     - "80:80"
    restart: always
    links:
     - web
    volumes:
     - web:/www
volumes:
    web:
Run Code Online (Sandbox Code Playgroud)

我所做的更改是对 ./web 中的 dockerfile:

FROM python:3.6.4

RUN mkdir /www
WORKDIR /www
ADD . /www/
RUN pip install -r requirements.txt
EXPOSE 8000
CMD python /www/davidbien/manage.py migrate
CMD cd dockertest && gunicorn dockertest.wsgi:application -w 2 -b :8000
Run Code Online (Sandbox Code Playgroud)

我所做的更改是更改 dockertest 文件夹中的 /davidbien/ 文件夹名称。

我尝试通过运行来重建图像:

docker-compose build --no-cache
Run Code Online (Sandbox Code Playgroud)

但这没有帮助。我也尝试了没有 --no-cache 的相同命令。我也试过:

docker-compose up --force-recreate
Run Code Online (Sandbox Code Playgroud)

重建后但当我运行脚本时,我不知道为什么旧文件夹仍然出现(即使它已被删除)。我还能做些什么来清除 docker-compose 中的缓存?我用谷歌搜索,但只得到了上述两个命令。谢谢

Kei*_*sud 2

我遇到了同样的问题,解决这个问题并更新容器的最快方法是更改​​它们的名称。

所以,我有一个名为的容器app,它的设置在app.docker. 我将其分别重命名为phpphp.docker。运行docker-composer up -d创建了更新的容器。