编辑内部文件后,Docker镜像不会改变

时间:2017-12-21 12:54:35

标签: docker docker-compose

我从以下位置克隆docker镜像: https://github.com/twtrubiks/docker-django-nginx-uwsgi-postgres-tutorial

我执行“docker-compose up”并按预期创建容器。 但是,如果我编辑/ api文件夹中的文件并再次执行“docker-compose up”,则包含的内容与以前相同。

我已经尝试了以下命令,但没有运气

docker-compose rm --all 
docker-compose pull 
docker-compose build --no-cache 
docker-compose up -d --force-recreate 

1 个答案:

答案 0 :(得分:1)

docker-compose运行时,如果您volume中已定义的docker-compose.yml已存在,则docker会重新使用它,而不是重新创建。

这意味着您第一次运行时可能会创建api_data volume。在该docker重新使用volume之后,其中/api数据未被更改。

删除api_data卷后再试一次,以便docker可以重新创建/api更改的卷。

首先,使用命令检查volume名称。

$ docker volume ls 

命令列表volumes主机中创建的所有docker。卷的名称将是包含api_data的字符串,例如docker-django-nginx-uwsgi-postgres-tutorial-api-data或其他内容。

然后使用命令删除它。

$ docker volume rm $(volume-name)  

# $(volume-name) should be the volume name from docker volume ls

另一方面,您可以直接更改/api中的volume

使用命令检查volume装载路径。

$ docker volume inspect $(volume-name)

从输出中,您可以看到Mountpoint,这是volume的安装位置。

$ su                  # You need root permission to access mount-directory
$ cd $(Mountpoint)
$ ls  

# Change file you want