2015-11-24 67 views
6

Dockerでアプリケーションのデータコンテナを構築しようとしています。私はいくつかのボリュームを公開するには、次のコマンドを実行します。私が正しくドッカーのマニュアルを理解していればDocker - 既存のファイルにボリュームをマウントできません。ファイルが存在します。

Error response from daemon: cannot mount volume over existing file, file exists /var/lib/docker/aufs/mnt/aefa66cf55357e2e1e4f84c2d4d2d03fa2375c8900fe3c0e1e6bc02f13e54d05/etc/environment 

docker run --name svenv.nl-data -v /etc/environment -v /etc/ssl/certs -v /var/lib/mysql -d svenv/svenv.nl-data 

問題は、私は、このコマンドからこのエラーを取得するということです。単一ファイルのボリュームを作成することができます。だから私はなぜこのエラーが発生するのか分からない。

私にこのことを説明できる誰かがいますか?私はUbuntu 14.04でDocker 1.9.1を実行しています。

+0

何らかの方法で解決しましたか? – Robert

+0

一部のファイルは、ドッカーirrcで上書きできません。/etc/environmentは予約されていると思います。 –

答えて

0

あなたがファイルをマウントしていないのではなく、マウントを宣言していると思います。代わりに、この表記法を試してみてください:-v <full path to a file you want to overwrite the target with>:/etc/environment

+1

ファイルを別のファイルで上書きしたくありません。私が達成しようとしているのは、/ etc/environmentをボリュームとしてマークして、--volumes-fromを使用して別のコンテナで使用できるようにすることです。これも可能ですか? –

3

あなたは

-v /etc/environment:/etc/environment 

代わりの

-v /etc/environment 

ホストボリュームの元のマップ・コンテナ・ボリュームを使用shoud。 後者は/ etc/environmentに新しいボリュームを作成しようとしましたが、このディレクトリが既に存在するので失敗します

関連する問題