Docker/K8S実践コンテナ開発入門@5日目
今回もDocker/K8Sの実践本の続きを対応します。
今回はJenkinsを利用していきます。
■書籍
Jenkinsコンテナを実行する
以下のdocker-compose.ymlを作成します。
Jenkinsは、Docker Hubに登録されている公式イメージを利用します。
volumesという設定項目が初出ですが、こちらはコンテナ間でファイルが共有される仕組みを指します。
volumesを定義することで、カレントディレクトリ直下のjenkins_homeディレクトリとJenkinsコンテナ側の/var/jenkins_homeにマウントしています。
これをComposeを利用して実行します。
■コマンド
docker-compose up
今回は「-d」オプションをつけずにフォアグラウンドで実行しましたが、
フォアグラウンド実行すると以下の通りパスワードが表示されます。こちらの情報は後ほど利用します。
特にエラーが表示されていないので、Jenkins のポートフォワーディングが行えています。
以下のURLにアクセスしてJenkinsのパスワード要求画面が開くことを確認します。
■URL
初期パスワードを設定し、順次ガイダンスに沿って進めていきます。
以下のCostomize Jenkinsでは、左の「Install Suggested plugins」を選択します。
以下の通り順次Installが開始されます。しばらく待ちましょう。
Installが完了すると以下の通りとなります。
あれ、、、失敗多くね?と思ったらどうやら参考書通りにやると依存関係の問題でエラーになるらしい。
■docker-compose.yml
その後、以下のコマンドでイメージビルドと起動を試しましたが、、、
■コマンド
docker-compose up --bulild -d
containerがあるせいでconflictが起きてしまっているようです。
この場合は、以下のコマンドで削除できます。
ちなみに一時的に消えて欲しくない場合は「docker rename コンテナ名 新しいコンテナ名」で名前変更によって退避できます。
■コマンド
docker rm コンテナ名
削除後に、もう一度起動を試すと以下の通り正常に機能します。
Jenkinsは一旦バックグラウンドで起動できました。
パスワードを見るために、ログの中身を確認します。
■コマンド
docker logs master
Jenkinsに接続、Install Suggested Pluginsも実施します。
エラーが発生しないと以下の通りログイン画面に移動します。
必要なログイン情報を入力後は、Instance設定に移動しますがこれはデフォルトのままとします。
Jenkinsの準備ができました!
Start Using Jenkinsをクリックします。
以下の通りJenkinsの画面に移動できました。
ちょっとエラーが多かったですね。
明日はsshを作成していきます。