docker COPY命令不持久

时间:2018-11-21 09:22:02

标签: docker

我有一个包含以下几行的docker文件:

WORKDIR /volumes/code/

COPY migrations migrations
COPY templates templates
COPY server.py server.py
COPY restart_db.py restart_db.py
COPY alembic.ini alembic.ini

但是在容器启动并运行并且在该文件夹中的即时消息之后,其中有一些文件存在,而其他文件则没有:

root@512ac3d735ee:/volumes/code# ls
autoai  config  restart_db.py

即使COPY命令成功传递:

Step 3/9 : WORKDIR /volumes/code/
 ---> Running in c02e5b2ed596
Removing intermediate container c02e5b2ed596
 ---> 682a6cb503b6
Step 4/9 : COPY migrations migrations
 ---> 26820b3fa035
Step 5/9 : COPY templates templates
 ---> f603b8e32dcb
Step 6/9 : COPY server.py server.py
 ---> 28877c2cbe1f
Step 7/9 : COPY restart_db.py restart_db.py
 ---> 6b15df227249
Step 8/9 : COPY alembic.ini alembic.ini
 ---> a8a9891b38fc

,并且文件存在于同一文件夹中。 例如。 restart_db.pyserver.py位于同一文件夹中,但仅将restart_db.py复制到容器中。

注意:/ volumes / code /是一个已安装的目录

2 个答案:

答案 0 :(得分:0)

容器应该是正在运行的修改数据的代码的实例。数据应该在卷中,而不是代码中。

/volumes/code不能通过docker-composeVOLUME命令声明为卷。

答案 1 :(得分:0)

最终对我有用的是:

docker volume prune

y出现提示时。

然后再次运行。