2016-11-16 11 views
5

私がdockerイメージを実行しているとき、私がマウントするartifactsディレクトリはroot権限を取得します。 アーティファクトにユーザーと同じ権限が必要です。 特定のユーザー権限で成果物ディレクトリを作成するように、ドッカーイメージを実行している間にユーザーを引数として渡すことはできますか?dockerがボリュームで実行され、ルートへのディレクトリアクセスが変更されます

これは私がドッキングウィンドウを実行する方法を示します。

docker run --cap-add SYS_ADMIN --security-opt apparmor:unconfined -it -v /home/artifacts:/artifacts dock_img 

drwxr-xr-x 2 root root 4.0K Nov 16 13:58 artifacts 

このアーティファクトは、root権限を取得するように、私は私のユーザーのログインからそれを処理することができません。誰かがこの問題を解決するのを助けることができますか?

答えて

3

これは、コンテナー内でrootユーザーを使用しているためです。

-uパラメータを使用して外部で使用するユーザーを設定することができます(例:-u `id -u $USER`)が、コンテナ内にルートが必要な場合は手動でチャーンする必要があります。

+0

ドッキングウィンドウを実行している間、私は、-uの$ USERを追加しようとしたが、それは誤り与える:[8]システムエラー:コンテナ7bc5461c4d04cd42f9f5b54c9213bdb44bfc2841454953ac66ae64c0cdc4a53dを開始できません:ユーザーを見つけることができません<ユーザー<> FATA [0000]デーモンからのエラー応答見つけることができません>。私はdockerfileにUSERを追加していません。-uオプションはdockerfileにUSERを追加しないと動作しますか? –

+0

はい、うまくいくはずですが、あなたのコンソールのように思われます。バッククォートでサブコマンドをサポートしていません。直接uidを使用しようとする – Julian

+0

root @ onl-dev:/ data/sept15/target-docker#ドッカーrun -u -it x docker:デーモンからのエラー応答:linux spec user :ユーザーを見つけることができません:passwdファイルに一致するエントリがありません。しかし、私はエントリを参照してください:root @ onl-dev:/ data/sept15/target-docker#cat/etc/passwd | grep :x:1012:1012:,,,/home/:/ bin/bash –

関連する問題