ユーザーの略歴
404 経歴が見つかりません
2015年11月8日からのメンバー

方法を紹介しておいて、何なのですが...こちらの記事に書いたのですが、Kubernetesの同類のコマンドであるkubectl execには、(今のところ?)このユーザ指定の機能がありません。ブログで見かけるようなdockerのCLI経由でのアクセスも、V1.23以降はできなくなる(Kubernetesでのdocker使用が廃止される)そうなので、もし、将来、運用もコンテナで...という事をお考えでしたら、あまりこの機能に依存しすぎるのは避けておいたほうが無難かもしれません。

CircleCI,Gitlab, GitHub Actionsあたりは例があるのですが、AWS CodeBuildはなぜか見かけません。
YAMLを共有いだだければ、いろんなアイデアが集まるかもしれませんよ?wink
 

Ohataさん、情報共有ありがとうございます。

Codebuild固有の、という事ではないのですが、IRISのイメージは
https://docs.docker.com/develop/develop-images/dockerfile_best-practices...
こちらに従い、ビルド時のUSERはirisownerになっています。

$ docker history containers.intersystems.com/intersystems/iris:2020.1.0.215.0 | grep USER
<missing>      13 months ago   /bin/sh -c #(nop)  USER irisowner               0B

ですので、そのまま実行した場合は

$ docker run --rm -it --entrypoint whoami store/intersystems/iris-community:2020.1.0.215.0
irisowner

となります。
Dockerfile内にて、パッケージマネージャ(apt)の使用などのために

USER root

を実行されておられませんでしょうか?その場合、可能な限りは、最終的には

USER ${ISC_PACKAGE_MGRUSER}

(ISC_PACKAGE_MGRUSERの内容はirisownerです)
を実行しておくことをお勧めいたします。この方法でビルドされたイメージはsu -irisownerなしで、IRISにO/S認証でのログインが可能になります。下記は使用例です。

https://github.com/intersystems-community/objectscript-docker-template/b...

もし、なんらかの理由で実行時にrootによるアクセスが必要になる場合は、Docker CLIであれば下記が使用できます。

$ docker exec -ti -u root containerId whoami
root
Open Exchange アプリケーション:
フォロワー:
Tomohiroさんにはまだフォロワーがいません。
フォロー中:
Tomohiroさんはまだ誰もフォローしていません。
Global Mastersバッジ: