我有一个包含以下几行的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.py
和server.py
位于同一文件夹中,但仅将restart_db.py
复制到容器中。
注意:/ volumes / code /是一个已安装的目录
答案 0 :(得分:0)
容器应该是正在运行的修改数据的代码的实例。数据应该在卷中,而不是代码中。
/volumes/code
不能通过docker-compose
或VOLUME
命令声明为卷。
答案 1 :(得分:0)
最终对我有用的是:
docker volume prune
和y
出现提示时。
然后再次运行。