2016-04-28 9 views
0

は私Dockerfileの一部です:ローカルドッキングウィンドウのボリューム

RUN mkdir /data 
RUN chown www-data:www-data /data 
RUN chmod 664 /data 
VOLUME ["/data"] 

私はコマンドを使用してイメージを作成します。

docker build -t webapp . 

私はこのようにそれを実行します。

docker run -d -p 80:80 -v /home/user/data:/data webapp 

私のホストユーザーディレクトリでは、dataディレクトリが次のように作成されます:

drwxr-xr-x 2 root root 4,0K avril 28 21:52 data 

画像内(ドッカ幹部がCONTAINER_IDはbashを-it)私が持っている:

drwxr-xr-x 2 root root 4096 Apr 28 19:52 data 

コマンドはDockerfileから無視されるようにします。
ウェブドッカーアプリがホストディレクトリへの書き込み権限を取得するにはどうすればよいですか?

答えて

1

あなたはイメージを構築して、chmodsを設定しています。それはすべてクールです。 しかし、-vオプションでコンテナを実行すると、/ dataはマウントされたボリュームに置き換えられます。現時点では、ビルドされたイメージからのすべてのファイルと権限は無視されます。これを確認するには、-vオプションを指定しないでcontainerを実行します。この問題を解決するには、最初に権限を修正して元のコマンドを実行するエントリポイントスクリプト(DockerfileのENTRYPOINTコマンドまたはCMDコマンド)を作成します。

関連する問題