Avatar
Kishikawa Katsumi 10/22/2020 2:59 PM
Docker in Docker (Docker out of Docker)  でRootユーザじゃなくて実行するようにできた。 実行ユーザーをdockerグループに入れる、というのはそうなんだけどそれだけだとダメでホストと同じGIDを持つdockerグループ、に入れてやることでできた。 RUN groupadd docker -g ${HOST_DOCKER_GROUP_ID} && \ usermod -a -G docker vapor
3:00 PM
HOST_DOCKER_GROUP_ID はビルドするマシンは別だから一回SSHにログインして取る。
3:01 PM
TERM=xterm ssh -t -t -o 'StrictHostKeyChecking no' "${{ secrets.SSH_LOGIN_USER }}@${{ secrets.SSH_HOST }}" "grep "^docker:" /etc/group | sed -e 's/^[^:]\+:[^:]\+:\([^:]\+\):[^:]\+$/\1/g'" > gid REMOTE_DOCKER_GID=$(echo $(tail -n 1 gid) | sed -e 's/\r//g') CIの最初の方でこんな感じでとってる。 デプロイ先は getent も入ってないOSだからグループIDを取るだけなのに結構ややこしいことをしている。