Docker image没有';编辑内部文件后,不会更改
我从以下位置克隆docker映像: 我执行“docker compose up”并按预期创建容器。 但是,如果我编辑/api文件夹中的文件并再次执行“docker compose up”,则包含的内容与以前相同 我已经尝试了以下命令,但没有成功Docker image没有';编辑内部文件后,不会更改,docker,docker-compose,Docker,Docker Compose,我从以下位置克隆docker映像: 我执行“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 运行docke
docker-compose rm --all
docker-compose pull
docker-compose build --no-cache
docker-compose up -d --force-recreate
运行
docker compose
时,如果您在docker compose.yml
中定义的卷
已经存在,docker
重新使用它,而不是重新创建
这意味着可以在第一次运行时创建api\u数据
卷
。此后,docker重新使用相同的卷
,其中/api
数据不变
删除api\u数据
卷后重试,以便docker
可以重新创建更改/api
的卷
首先,用命令检查卷
名称
$ docker volume ls
$ docker volume rm $(volume-name)
# $(volume-name) should be the volume name from docker volume ls
$ docker volume inspect $(volume-name)
该命令列出在docker
主机中创建的所有卷。卷的名称将是一个包含api_数据
的字符串,例如,docker django nginx uwsgi postgres教程api数据
或其他内容
然后用命令删除它
$ docker volume ls
$ docker volume rm $(volume-name)
# $(volume-name) should be the volume name from docker volume ls
$ docker volume inspect $(volume-name)
另一种方法是,您可以直接更改卷中的/api
使用命令检查卷
装载路径
$ docker volume ls
$ docker volume rm $(volume-name)
# $(volume-name) should be the volume name from docker volume ls
$ docker volume inspect $(volume-name)
从输出中,您可以看到装入点
,即装入卷
的位置
$ su # You need root permission to access mount-directory
$ cd $(Mountpoint)
$ ls
# Change file you want
Up用于从图像创建容器。您尝试停止/启动了吗?它显示“错误:没有这样的卷:api_数据”@Gary Ng即使您删除容器
和图像
,该卷仍将处于活动状态。通过docker volume ls
检查卷名,然后通过docker volume rm$(volume\u name)
删除该卷名。它的名称可能类似于“DockerJangonginXuwsgiPostgrestural\u api\u数据”。尝试运行docker volume ls
以找到您环境的确切名称,然后对该卷进行rm。哎呀,对不起,刚才看到@SangminKim在上面说了同样的话:)