概要
Docker コンテナ内でファイルを作成すると、デフォルトではそのファイルの所有者が root ユーザーになります。 これは、ホストマシン上でファイルを扱う際に不便になることがあります。 この記事では、コンテナ内で作成したファイルの所有者を root 以外のユーザーに設定する方法を紹介します。
手順
1. Dockerfile で新しいユーザーを作成する
Dockerfile 内でホストマシンと同じ UID でユーザーを作成します。
UID、ユーザー名は docker build
時に引数で渡せるようにします。
2. イメージをビルドする
UID およびユーザー名はビルド時に引数で指定します。こうすることで、Docker イメージ内で作成するユーザーがホストマシンの現在のユーザーと一致します。
COPY
コマンド、ADD
コマンドにより追加したファイルの権限
COPY
コマンドや ADD
コマンドを使用してファイルをコンテナイメージに追加することができます。
しかし、これらのコマンドで追加されたファイルの所有者はデフォルトで root ユーザーになります。
--chown
オプションを使用することで、追加されたファイルの所有者を root 以外に設定できます。
コメント