2013-10-03 19 views
57

私はDockerを使って作業していますが、変更が多いdyanmicフォルダをマウントしたいのです(高価なので、それぞれの実行のためのドッカーを作る必要はありません)。そのフォルダを読み込み専用にします。しかし、フォルダの所有者を他の誰かに変更すると、chownにはrootのアクセス権が必要になりますが、これはアプリケーションに公開したくありません。Docker、read onlylyとしてボリュームをマウント

私は-vフラグを使用してマウントすると、私は与えたユーザー名を与え、ドッカーイメージ内にroot以外のユーザーを作成しましたが、ドッカーを実行したユーザーとして所有者を持つボリューム内のすべてのファイルは、私はコマンドラインから与えるので、私は読み取り専用のファイルやフォルダを作ることはできません。どうすればこれを防ぐことができますか?

また、mustafa ALL=(docker) NOPASSWD: /usr/bin/dockerを追加しました。端末を使用して別のユーザーに変更することもできますが、ファイルには自分の権限があります。

+0

私はここで、ユーザが完全なルートアクセスを与えるのと同じようにドッカーコンテナを実行できるようにするというコメントを残しておきたいと考えました。これは、ドッカーのドキュメントのセキュリティセクションにも記載されています。 – Blackclaws

答えて

97

あなたは、ボリュームが読み取り専用にする必要があることを-vスイッチに:roを追加することによって指定することができます。フォルダは、コンテナに読み取り専用および読み書きをホスト上にあることを

docker run -v /path/on/host:/path/on/container:ro my/image 

は注意してください。

+1

書き込みが許可されていますが、ホストに書き戻すことはできませんか?それは素晴らしいでしょう –

+4

あなたは全く音量を指定しないように思えます。 – Alp

+0

並べ替え... Dockerfile COPYを使用するか、シャットオフコンテナに別の 'docker cp'コマンドを使用するだけでイメージを構築する必要はありません。 –

関連する問題