を起動することはできません、私はこのようなdockerfileを書いた:httpdのは、私がドッキングウィンドウでHTTPDをインストールしようとしている
FROM centos
VOLUME /var/log/httpd
VOLUME /etc/httpd
VOLUME /var/www/html
# Update Yum Repostory
RUN yum clean all && \
yum makecache fast && \
yum -y update && \
yum -y install httpd
RUN yum clean all
EXPOSE 80
CMD /usr/sbin/httpd -D BACKGROUND && tail -f /var/log/httpd/access_log
私は、パラメータを使用している場合、私は、ホストボリュームのない画像を実行しますが、失敗した場合、それは動作します:
--volume /data/httpd/var/www/html:/var/www/html --volume /data/httpd/var/log:/var/log --volume /data/httpd/etc:/etc/httpd
エラーメッセージは次のとおりです。
httpd: Could not open configuration file /etc/httpd/conf/httpd.conf: No such file or directory
私が空であるマウントポイントを確認:
# ll /data/httpd/etc/
total 0
しかし、私は一時フォルダにファイルを介して、デフォルトのドッキングウィンドウのcopysで「音量」を使用しない場合:
# ll /var/lib/docker/volumes/04f083887e503c6138a65b300a1b40602d227bb2bbb58c69b700f6ac753d1c34/_data
total 4
drwxr-xr-x. 2 root root 35 Nov 3 03:16 conf
drwxr-xr-x. 2 root root 78 Nov 3 03:16 conf.d
drwxr-xr-x. 2 root root 4096 Nov 3 03:16 conf.modules.d
lrwxrwxrwx. 1 root root 19 Nov 3 03:16 logs -> ../../var/log/httpd
lrwxrwxrwx. 1 root root 29 Nov 3 03:16 modules -> ../../usr/lib64/httpd/modules
lrwxrwxrwx. 1 root root 10 Nov 3 03:16 run -> /run/httpd
は、だから私は混乱している、ドッキングウィンドウという名前にコピーすることを拒否した理由ロケーション?この問題を解決する方法は?
Zeppelinありがとうございますが、「ホストディレクトリをマウントしていますか?私は "ボリューム"パラメータを使用しています、私はそれはドキュメントが何を言うことができることを望む: "既存のデータはボリュームの初期化時に新しいボリュームにコピーされます"しかし、それは起こりません。 – user3593261
ボリュームをマウントするということは、コンテナ内のボリューム(_/etc/httpd_)としてホストファイルシステムフォルダ(つまり_/date/httpd/etc/_)をコマンドラインで両方指定することによって実現することを意味します。ボリューム=/data/httpd/etc:/ etc/httpd。 (これは_mounted_ボリュームの構文です)。 --volume/etc/httpdでボリュームを宣言するのとは異なります(ホストフォルダのパスが指定されていないことに注意してください)。 – zeppelin
あなたの説明をありがとうございますが、私はそれにマウントポイントを与えないと意味がありません。しかし、ローカルパス(--volume =/etc/httpd)を削除しましたが、それは新しい一時フォルダを作成して何もコピーされていないため、まだ失敗しました。 – user3593261