1. ホーム
  2. docker

[解決済み] dockerコンテナにroot以外のユーザーで接続する

2022-10-29 02:47:13

質問

デフォルトでは

docker run -it [myimage]

または

docker attach [mycontainer]

はrootユーザでターミナルに接続しますが、別のユーザで接続したいのです。 可能でしょうか?

解決方法を教えてください。

以下のような場合 docker run :

単にオプションを追加するだけで --user <user> を追加して、dockerコンテナの起動時に他のユーザーに変更します。

docker run -it --user nobody busybox

については docker attach または docker exec :

このコマンドは既存のプロセスにアタッチ/実行するために使用されるので、そこで現在のユーザーを直接使用します。

docker run -it busybox  # CTRL-P/Q to quit
docker attach <container id>  # then you have root user
/ # id
uid=0(root) gid=0(root) groups=10(wheel)

docker run -it --user nobody busybox # CTRL-P/Q to quit
docker attach <container id>  
/ $ id
uid=99(nobody) gid=99(nogroup)

どうしても欲しいユーザーとくっつけたいなら

  1. そのユーザーから始める run --user <user> で言及するか Dockerfile を使って USER
  2. ユーザーを変更するには、`su' を使用します。