久しぶりにJenkinsを使い始めようとしています。今回は公式のDockerでやっています。いままで使ってきたいくつかの公式Dockerイメージだとsudoできたのですが、Jenkinsの公式Dockerイメージはsudoコマンドがインストールされておりませんでした…

これの何が困ったかって、今回JenkinsのイメージにRubyの実行環境をインストールしたかったのです…が、sudoできないのでsudo apt-get updateができず、Rubyがインストールできない….対処法として一番初めに思い浮かんだのは公式イメージをForkしてきてそいつをいじくるというものでした。しかし、Dockerのイメージをいじくるのって正直めんどくさいので、できれば公式イメージを基にしたコンテナにRubyをインストールしてしまいたい…

結果、起動したコンテナにrootで入ることで対処しました。コンテナIDは実際の値に置き換えてください。

1
sudo docker exec -it -u root containerID /bin/sh

これでコンテナ内に入ってからRubyをインストールしました。その後は、コンテナから抜けて、コンテナを止める前に下記のコマンドでRubyをインストールしたコンテナを基に新しいイメージを作りました。(下記のjenkins:2.32.2は適当に置き換えてください)

1
sudo docker commit containerID jenkins:2.32.2

以上。