Docker/K8S実践コンテナ開発入門@5日目

今回もDocker/K8Sの実践本の続きを対応します。

今回はJenkinsを利用していきます。

 

■書籍

Docker/Kubernetes 実践コンテナ開発入門

Docker/Kubernetes 実践コンテナ開発入門

 

 

Jenkinsコンテナを実行する 

以下のdocker-compose.ymlを作成します。

Jenkinsは、Docker Hubに登録されている公式イメージを利用します。

f:id:lawrence-twin:20200416225655p:plain

 

volumesという設定項目が初出ですが、こちらはコンテナ間でファイルが共有される仕組みを指します。

volumesを定義することで、カレントディレクトリ直下のjenkins_homeディレクトリとJenkinsコンテナ側の/var/jenkins_homeにマウントしています。

 

これをComposeを利用して実行します。

■コマンド

docker-compose up

f:id:lawrence-twin:20200416231925p:plain

 

今回は「-d」オプションをつけずにフォアグラウンドで実行しましたが、

フォアグラウンド実行すると以下の通りパスワードが表示されます。こちらの情報は後ほど利用します。

f:id:lawrence-twin:20200416234450p:plain

 

特にエラーが表示されていないので、Jenkins のポートフォワーディングが行えています。

以下のURLにアクセスしてJenkinsのパスワード要求画面が開くことを確認します。

 

■URL

http://locahohost:8080

f:id:lawrence-twin:20200417174512p:plain

 

初期パスワードを設定し、順次ガイダンスに沿って進めていきます。

以下のCostomize Jenkinsでは、左の「Install Suggested plugins」を選択します。

f:id:lawrence-twin:20200417174717p:plain

 

以下の通り順次Installが開始されます。しばらく待ちましょう。

f:id:lawrence-twin:20200417175010p:plain


Installが完了すると以下の通りとなります。

f:id:lawrence-twin:20200417180111p:plain

 

あれ、、、失敗多くね?と思ったらどうやら参考書通りにやると依存関係の問題でエラーになるらしい。

qiita.com

 

■docker-compose.yml

f:id:lawrence-twin:20200417180544p:plain

その後、以下のコマンドでイメージビルドと起動を試しましたが、、、

■コマンド

docker-compose up --bulild -d

f:id:lawrence-twin:20200417181040p:plain

 

containerがあるせいでconflictが起きてしまっているようです。

tech.mktime.com

 

この場合は、以下のコマンドで削除できます。

ちなみに一時的に消えて欲しくない場合は「docker rename コンテナ名 新しいコンテナ名」で名前変更によって退避できます。

 

■コマンド

docker rm コンテナ名

f:id:lawrence-twin:20200417182132p:plain

 

削除後に、もう一度起動を試すと以下の通り正常に機能します。

f:id:lawrence-twin:20200417182256p:plain

 

Jenkinsは一旦バックグラウンドで起動できました。

パスワードを見るために、ログの中身を確認します。

■コマンド

docker logs master

f:id:lawrence-twin:20200417182648p:plain

 

Jenkinsに接続、Install Suggested Pluginsも実施します。

エラーが発生しないと以下の通りログイン画面に移動します。

f:id:lawrence-twin:20200417183318p:plain

 

必要なログイン情報を入力後は、Instance設定に移動しますがこれはデフォルトのままとします。

 

f:id:lawrence-twin:20200417183441p:plain

 

Jenkinsの準備ができました!

Start Using Jenkinsをクリックします。

f:id:lawrence-twin:20200417183624p:plain

 

以下の通りJenkinsの画面に移動できました。

f:id:lawrence-twin:20200417183653p:plain

 

ちょっとエラーが多かったですね。

明日はsshを作成していきます。