私はホストマウントを使用せずに別のコンテナにファイルを公開したいコンテナを持っています。私DockerfileでDockerでホストをマウントせずに特定のファイルを共有するには?
私は、必要なファイルをコピーした後、ボリュームとして/etc/nginx/
ディレクトリを宣言:
COPY ./src/frontend/config/nginx.conf /etc/nginx/nginx.conf
COPY ./src/frontend/config/sites-available/default /etc/nginx/sites-enabled/default
VOLUME ["/etc/nginx/"]
をしかし、全体のディレクトリがボリュームとして機能するため/etc/nginx/
の元の内容は、私の内容によって隠されていますボリューム:
dk run --volumes-from other_container -it --rm nginx:1.12.1 /bin/bash
> ls /etc/nginx
> nginx.conf sites-enabled
これは私が避けたいものです。しかし、Dockerは、既存のファイルをボリュームとして公開することを本当にサポートしていないようです。私は上記のように、ボリュームを使用している場合
VOLUME ["/etc/nginx/nginx.conf"]
私は、次のエラーメッセージが表示されます。
cannot mount volume over existing file, file exists /var/lib/docker/overlay2/b557a0d1ef5026f581f7ee69321de854d8f77b935c0442458f26cada855e5bf2/merged/etc/nginx/nginx.conf
は、それが取り付けホストを使用せずに、この問題を解決することは可能ですか?
他の場所にマウントすると、シンボリックリンクが挿入されますか? –
これを別のフォルダにシンボリックリンクし、そのフォルダを名前コンテナにボリュームマウントすることができます。もう一方のコンテナには、この名前付きコンテナを提供します –