以下の内容はhttps://www.mtioutput.com/entry/docker-exec-chuserより取得しました。


【Docker】execでコマンド実行するユーザを変更する

スポンサーリンク

やりたいこと

例えば以下のようにdb2コンテナにログインするとrootコマンドとなるが

> docker exec -it db2 /bin/bash
[root@62959d1446c6 /]#

db2inst1ユーザで接続したい。

環境情報
> docker --version
Docker version 19.03.5, build 633a0ea

やり方

--user=hogeを付与する。

具体的には以下のように利用。

> docker exec -it --user=db2inst1 db2 /bin/bash
[db2inst1@62959d1446c6 /]$

以下、補足です。

補足

以下のコンテナを利用している際にdb2inst1ユーザを利用すべく

ログイン後にスイッチしていましたが同手順ではそれが不要です。

注意点として、
このユーザはコンテナ側にいるユーザでないと以下のエラーとなります。

> docker exec -it --user=hoge db2 whoami
unable to find user hoge: no matching entries in passwd file

逆に存在するユーザであれば自由に選定できます。

> docker exec -it --user=ftp db2 whoami
ftp

以上、ご参考になれば幸いです。




以上の内容はhttps://www.mtioutput.com/entry/docker-exec-chuserより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14