2015-09-04 7 views
5

Dockerコンテナを作成するとき、私はコンテナに反映されていないUID/GIDの問題に取り組んでいます。私が探しているのは、ホストのアクセス許可を合理的に保つ方法、またはDockerコンテナ内のホストユーザー/グループアカウントからUID/GIDを複製する方法です。例えば:Dockerはホストからコンテナ内のUID/GIDを複製します

ホスト -

woot4moo:504:X:504 woot4moo:/ホーム/ woot4moo:/ binに/ bashの

私はドッカーコンテナでこれと同じ動作をしたいと思います。それは言われている、これはこのタイプのことをする正しい方法ですか?私の信念は、私は単純に実行することができます:

useradd -u 504 -g 504 woot4moo 

私のDockerfileの一部として、私は確かにわかりません。

答えて

5

誰かがコンテナを実行しているホストが画像を構築するホストであるではなく、であるため、イメージビルドプロセスの一部として(Dockerファイル内で)実行したくないです。これを解決する

一つの方法は、環境変数を介して、UID/GID情報に渡している。そして、

docker run -e APP_UID=100 -e APP_GID=100 ... 

そしてCMDを実行する前に、次のようなものが含まれてENTRYPOINTスクリプトを持っている:

useradd -c 'container user' -u $APP_UID -g $APP_GID appuser 
chown -R $APP_UID:$APP_GID /app/data 
関連する問題