我找不到特定于网络搜索的内容site:stackoverflow.com dockerfile RUN fs changes not persisted
.
I made Dockerfile
并想通过以下方式对图像进行一些更改RUN
。首先,我想更改文件属性,但启动的容器中没有更改。我发现这篇文章讲述了docker
错误chmod
和解决方法:https://serverfault.com/questions/772227/chmod-not-working- Correctly-in-docker https://serverfault.com/questions/772227/chmod-not-working-correctly-in-docker。但是,现在我只是尝试通过创建一个文件RUN touch /path/file
in Dockerfile
并且已经在下一个命令(据我了解文档的 docker 的下一层)中,更改(该文件)消失了。据我看来很奇怪,否则怎么办apt install
然后就可以工作了,因为它会对图像中的文件系统进行更改...为什么会出现该特定结果RUN
不坚持?下面的文档告诉相反的(或者我误解了commit
here):
https://docs.docker.com/engine/reference/builder/ https://docs.docker.com/engine/reference/builder/ :
RUN 指令将执行新层上的任何命令
当前图像并提交结果。由此产生的承诺
图像将用于 Dockerfile 中的下一步。
这是输出docker build --no-cache -t yandex:user5 yandex2/
(参见步骤 6 和 7;dockeruser 已创建,btw):
Step 1/8 : FROM artifactory.dev.foo.org:5000/yandex-tank:jmeter
---> b8286a9220ca
Step 2/8 : LABEL maintainer="[email protected] /cdn-cgi/l/email-protection"
---> Running in 7cfde9a90bf2
Removing intermediate container 7cfde9a90bf2
---> b5acd9d55f9c
Step 3/8 : WORKDIR /var/loadteest
---> Running in 47e9adc401bb
Removing intermediate container 47e9adc401bb
---> 103f158e0be3
Step 4/8 : USER root
---> Running in 9923d71f7b08
Removing intermediate container 9923d71f7b08
---> bb3aa8672bc6
Step 5/8 : RUN groupadd -r dockeruser && useradd -r -g dockeruser -d /var/loadtest -s /sbin/nologin -c "Docker image user" dockeruser
---> Running in 48c89f33d750
Removing intermediate container 48c89f33d750
---> 5000afa7698d
Step 6/8 : RUN touch /var/loadtest/chmodtest.txt
---> Running in 00b2d1ccad75
Removing intermediate container 00b2d1ccad75
---> c35808f13344
Step 7/8 : RUN ls -al /var/loadtest
---> Running in cc08d129eeb3
total 8
drwxr-xr-x 2 root root 4096 Nov 20 12:19 .
drwxr-xr-x 1 root root 4096 Nov 29 06:15 ..
Removing intermediate container cc08d129eeb3
---> 842678ca5d49
Step 8/8 : ENTRYPOINT /bin/bash
---> Running in 20b92a97c8a8
Removing intermediate container 20b92a97c8a8
---> fefd0d665677
Successfully built fefd0d665677
Successfully tagged yandex:user5
问题是使用基础映像中的卷:
从 Dockerfile 中更改卷:如果有任何构建步骤
在声明卷后更改卷内的数据,那些
更改将被丢弃。
see This https://docs.docker.com/engine/reference/builder/#volume
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)