Connect to docker container as user other than root Ask Question

Connect to docker container as user other than root Ask Question

BY default when you run

docker run -it [myimage]

OR

docker attach [mycontainer]

端末にルートユーザーとして接続しますが、別のユーザーとして接続したいです。これは可能ですか?

ベストアンサー1

のためにdocker run

--user <user>Docker コンテナを起動するときに、別のユーザーに変更するオプションを追加するだけです。

docker run -it --user nobody busybox

または:docker attachdocker 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を使用してユーザーを変更する

おすすめ記事