はじめに
この記事はDocker/Kubernetes実践コンテナ開発入門にて、
書籍通りに進めて詰まってしまった箇所の解決策を自分用にメモしています。
前提条件
一度Jenkinsのmasterノードをdockerで作成し、ssh公開鍵の作成は完了している。
用意するdocker-compose.yml
version: "3"
services:
master:
container_name: master
image: jenkins/jenkins:latest
ports:
- 8080:8080
volumes:
- ./jenkins_home:/var/jenkins_home
links:
- slave
slave:
container_name: slave
image: jenkins/ssh-slave:latest
environment:
- JENKINS_SLAVE_SSH_PUBKEY=ssh-rsa AAAAB.......
※Jenkinsのサイトによると、 jenkinsciは開発が止まっているようです。。
実行
$docker-compose up -d #上記docker-compose.ymlを実行
Docker Compose is now in the Docker CLI, try `docker compose up`
Starting slave01 ... done
Starting master ... done
無事実行できました!
ちなみに、jenkinsciのイメージでコンテナを作成すると、Jenkinsのpluginインストールでこけます。
masterノードへslaveノードを登録する
ここも一山ありました。。
書籍通りに進めると、slaveノードに通信ができません。(java.IOExceptionが出ます)
解決策は、以下サイトに非常に丁寧に記載してくださっています。
jenkinsのmaster/slave間のSSH接続でjavaがないと言われた時の対処法(docker)