Dockerコンテナ内にマウントされたボリュームに対する変更は、通常のユーザーが行ったように見えますが、まだroot権限を保持します。

Dockerコンテナ内にマウントされたボリュームに対する変更は、通常のユーザーが行ったように見えますが、まだroot権限を保持します。

私が使うなら--userパラメータをdocker run使用すると、変更(単純な変更などmkdir)がその(ルートではない)ユーザーによって実行されるように見えます。ただし、aptroot権限が必要なため、コンテナ内部などのコマンドを実行することはできません。デフォルトでは、sudoDockerdebianイメージはプリインストールされていませんubuntu

この問題を解決するエレガントな方法は何ですか?

ベストアンサー1

知っていたらいつそしてどこ変更が記録され、chown後で次のファイルで使用できます。

  • パラメータ(、、)を使用して、id -uホスト(ルートではない)ユーザーのユーザーとグループIDをDockerコンテナに渡します。id -g--env
  • rootでコマンド/スクリプトを実行する(コンテナ内)
  • 最後にchown(コンテナ内で)実行して、ホストユーザーが変更したように見えます。

おすすめ記事