質問: 【質問経緯】 1. DockerをRHEL7.5 上に導入し、Docker Hubから最新のJenkinsのイメージをpull。 2. ただ、Jenkinsの公式が公開しているJenkinsイメージのバージョンが2.6.Xと古いため、 pipeline等の一部のプラグインがインストールできません。 3. そこで、/var/lib/docker/overlay2/XXX(コンテナID?)/diff/usr/share/jenkins ディレクトリ配下に存在するjenkins.warを、公式から落としてきた最新バージョンの物に 差し替えてコンテナを立ち上げたところ、最新バージョンのjenkinsが立ち上がり、 プラグインのインストールも行える様になりました。 【質問内容】 Docker Hub等で公開されているイメージのバージョンが古い場合、上記の様な対処方法で問題が 無いか(そもそもDocker、Jenkinsが公式として想定している方法かどうか)に関しまして、 ご存知の方がいましたら教えて頂ければ幸いです。
回答: Jenkinsのバージョンについて 公式Dockerhubレポジトリのドキュメントから、公式のDockerfileを確認したところ、2.121.1のバージョンが指定されているようです。また、念の為実際に自分でも`docker pull jenkins/jenkins && docker run jenkins/jenkins`というコマンドで確認したところ、2.141のJenkinsが起動しました。 そのため、おっしゃっているバージョンが古い問題はそもそも起きないはずです。 おそらく、deprecatedの旧公式リポジトリを利用してしまっているか、あるいは`:lts`タグを使われているのではないでしょうか。 Dockerファイルの中身を差し替えて対処する方法に問題がないか 実行すること自体に問題はないと考えられますが、Dockerを利用するメリットが失われているように感じます。