gpt4 book ai didi

Dockerfile 音量不起作用

转载 作者:行者123 更新时间:2023-12-02 18:01:41 25 4
gpt4 key购买 nike

我真的坚持使用 docker VOLUME's。我有一个普通的 dockerfile:

FROM ubuntu:latest  
VOLUME /foo/bar
RUN touch /foo/bar/tmp.txt

我跑了 $ docker build -f dockerfile -t test .它成功了。在此之后,我以交互方式将 shell 运行到与创建的 test 的运行相关联的 docker 容器中。图片。也就是说,我跑了 $ docker run -it test
观察:
/foo/bar已创建,但 .
docker inspect test安装信息:
"Volumes": {
"/foo/bar": {}
}

似乎它根本没有安装。任务看起来很简单,但我做错了什么吗?

编辑:我希望保留在此安装的卷目录中创建的数据。

最佳答案

VOLUME 指令必须放在 RUN 之后。

https://docs.docker.com/engine/reference/builder/#volume 中所述:

Note: If any build steps change the data within the volume after it has been declared, those changes will be discarded.



如果你想知道docker创建的volume的来源 run命令:
docker inspect --format='{{json .Mounts}}' yourcontainer

将给出这样的输出:
[{
"Name": "4c6588293d9ced49d60366845fdbf44fac20721373a50a1b10299910056b2628",
"Source": "/var/lib/docker/volumes/4c6588293d9ced49d60366845fdbf44fac20721373a50a1b10299910056b2628/_data",
"Destination": "/foo/bar",
"Driver": "local",
"Mode": "",
"RW": true,
"Propagation": ""
}]

来源 包含您正在寻找的路径。

关于Dockerfile 音量不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37837613/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com