(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【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

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