ビルド中にmove3ドッカーのイメージの/root/.m2に書き込まれたファイルが永続的でないのはなぜですか?ドッカーのMavenコンテナの〜/ .m2に書き込むことができません
シンプルdockerfile:
FROM maven:3-jdk-8
RUN touch /root/.m2/testfilehere && ls -a /root/.m2
RUN ls -a /root/.m2
CMD ["bash"]
は、次の出力を生成します。
$ docker build -t test --no-cache .
Sending build context to Docker daemon 2.048 kB
Step 1 : FROM maven:3-jdk-8
---> 42e3884987fb
Step 2 : RUN touch /root/.m2/testfilehere && ls -a /root/.m2
---> Running in 1c1dc5e9f082
.
..
testfilehere
---> 3da352119c4d
Removing intermediate container 1c1dc5e9f082
Step 3 : RUN ls -a /root/.m2
---> Running in df506db8c1dd
.
..
---> d07cc155b20e
Removing intermediate container df506db8c1dd
Step 4 : RUN stat /root/.m2/testfilehere
---> Running in af44f30aafe5
stat: cannot stat ‘/root/.m2/testfilehere’: No such file or directory
The command '/bin/sh -c stat /root/.m2/testfilehere' returned a non-zero code: 1
最初のコマンドで作成されたファイルは、中間のコンテナが存在すると消えます。
また、これはubuntuイメージでは起こりません。単にmavenです。
編集:使用するADD hostfile /root/.m2/containerfile
は回避策として機能しますが、私が欲しいものではありません。
エントリポイントは問題ではありません。消去は、コンテナを実行する前に、すなわちファイル作成を行ったDockerfileコマンドの直後に行われる。 – npit
このリンクの説明のとおり、https://docs.docker。 CMD/bin/bashを実行する直前にエントリポイントが実行される ls seconde timeを実行するときは、あなたはcopy_reference_file.log settings-docker.xmlを見ることができます これらはmaven refディレクトリからコピーされます – Thibaut