jenkinsをdockerで立ててみる
- jenkinsのダウンロード
- 下記コマンドでダウンロードする。
dev@devPC % docker pull jenkins/jenkins
-
jenkins/jenkinsを指定している理由は、jenkinsだけだと、開発が2年前くらいから行われていないものだからです。
- 検索ワード: docker image jenkins
- 公式ページを参考にしてください。- jenkins/jenkinsを指定することで、community版をダウンロードできます。⭐︎重要
初期の状態では、docker imgesでイメージがありませんでしたが、docker pull コマンドを叩いたので、jenkinsのdocker imageがダウンロードされました。
dev@devPC % docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
dev@devPC vscode % docker pull jenkins/jenkins
Using default tag: latest
latest: Pulling from jenkins/jenkins
3192219afd04: Pull complete
17c160265e75: Pull complete
cc4fe40d0e61: Pull complete
9d647f502a07: Pull complete
d108b8c498aa: Pull complete
1bfe918b8aa5: Pull complete
dafa1a7c0751: Pull complete
c7ea2536eca3: Pull complete
93cd9802fbf0: Pull complete
914e80de9b11: Pull complete
f9f7636976c7: Pull complete
481a5bdd1dbb: Pull complete
aed9f0ab04f0: Pull complete
8a5abf9ab74a: Pull complete
762802bacf71: Pull complete
0f1b2057bd27: Pull complete
36767acdbd7f: Pull complete
094c8277f52e: Pull complete
bb82181bc497: Pull complete
Digest: sha256:a65adcb008637acdeffb81c1295ad16c0d4c9b550de4a9ebe6e22798854a9417
Status: Downloaded newer image for jenkins/jenkins:latest
docker.io/jenkins/jenkins:latest
dev@devPC vscode % docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
jenkins/jenkins latest cf9ba86fd2ce 31 hours ago 619MB
dev@devPC %
- docker imagesはdockerのimageを確認するコマンドです。
- 検索ワード:docker images コマンド
これで、自分のPCにjenkinsを建てるためのimageをダウンロードすることができました。
Jenkinsを立ててみる。
Jenkinsのイメージがダウンロードできたら、Jenkinsを動かしてみようと思う。Jenkinsを実行するときのコマンドについては、Docker hubの公式ページで、jenkins/jenkinsのタグを検索してください。jenkins/jenkinsのページの下の方に、read documentation for usageがあるので、そこんリンクに行ってください。そこに起動のコマンドが書いてあります。
私は下記のコマンドで立てました。
# docker run -d --name jenkins_kun -v /Users/dev/jenkins:/var/jenkins_home -p 48080:8080 -p 50000:50000 jenkins/jenkins
実行結果はこちら
dev@devPC jenkins % docker run -d --name jenkins_kun -v /Users/dev/jenkins:/var/jenkins_home -p 48080:8080 -p 50000:50000 jenkins/jenkins
f724fb7e5b604931cc35f0e9c93c56574e7d62e11336db8dfa25272a5179cbac
dev@devPC jenkins % docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f724fb7e5b60 jenkins/jenkins "/sbin/tini -- /usr/…" 2 seconds ago Up 2 seconds 0.0.0.0:50000->50000/tcp, 0.0.0.0:48080->8080/tcp jenkins_kun
dev@devPC jenkins
オプションについてはこちら
-d:デタッチモードで起動する。containerから抜けたりしたときに止まらない。
--name:名前指定する。今回はjenkins_kunと言う名前にしました。名前を付けない場合には、docker engineが自動でつけてくれます。name-generatorなるものがあって、それから生成されているらしい。
-v:dockerホストのディレクトリをバインドする。基本的に、データはコンテナのなかに生成して、コンテナを破棄するときになくなります。ホストとコンテナをバインドしておけば、ホスト側にデータが残ります。
jenkinsのデータは、全てコンテナないの/var/jenkinsのなかに格納されているので、ホストの自分の好きなところ(今回私が指定したのは、/User/dev/jenkins)と書いておけば、まあ良い。
-p:ポートの設定。ホストPCの48080にアクセスすると、コンテナないの8080ポートにアクセスできる。JenkinsとかGitlabとかたくさん立てようと考えているので、今回は48080ポートをJenkinsのポートにしてみました。50000はjenkinsの起動のReadmeに書いてあったので、書きました。
動いているので、localhost:48080でアクセスする。
アクセスしたら、パスワード入力を求められるので、コンテナのなかに入って、パスワードを見る必要がある。
下記コマンドで、コンテナのなかに入ることができる。場所は画像に書いてある場所である。
docker exec -it jenkins_kun /bin/bash
また、jenkns_homeはホスト側にマウントしてあるので、そこを参照することも可能である。
このあと、おすすめのプラグインのダウンロードとインストールを走らせる。おすすめを走らせたときにインストールされるプラグインはこれらである。
LDAPとかPipelineとかGitなどがはいっていますね。
dockerの詳細については、ここでは述べませんが、dockerにはイメージとコンテナの概念があリます。それぞれの、詳細については、次の検索ワードで検索すれば良いです。
- docker コンテナ イメージ 違い
そのうち、自分なりにまとめて、あとで述べたいと思います。
終わり