Help us understand the problem. What is going on with this article?

[ docker ] jenkinsサーバ をdockerで始めてみる

More than 3 years have passed since last update.

0. これは備忘録

用意するもの

  • Docker tool > Kitematic
  • Docker Hub のアカウント
  • PC (いま使ってるのはWindows)

1. やりたいこと

  • JenkinsをDockerイメージとしてメンテしたい。

2. Let's Get started

kitematicを立ち上げてDocker Hubのアカウントでサインインする
Jenkinsのイメージを見つけてlatestでダウンロードする
KitematicのGUI上で次々と流れるログをボーっと眺める
KitematicのGUI左下にあるDocker CLIをクリック
Docker CLI上でいろいろdockerコマンドを操作する。

docker images
REPOSITORY                        TAG                 IMAGE ID            CREATED             SIZE
jenkins                           latest              12354asdg        9 days ago          711.9 MB

docker ps -a
CONTAINER ID        IMAGE                   COMMAND                  CREATED             STATUS                  PORTS                                               NAMES
098gf098098        jenkins:latest         "/bin/tini -- /usr/lo"   3 minutes ago       Up 3 minutes            0.0.0.0:32769->8080/tcp, 0.0.0.0:32768->50000/tcp   jenkins

イメージを確認する。コンテナが作成されていることを確認する
再びKitematicのGUIに戻り、WEB PREVIEW というペインの右上にある歯車アイコンの横の四角のアイコンをクリックするとwebブラウザにJenkinsのスタートページが表示される。
initial passwordを入力しろ、と言われるので再びDocker CLIでコンテナにアクセスする

docker exec -it ${containerID} bash
jenkins@${containerID}:/$
jenkins@${containerID}:/$ cat /var/jenkins_home/secrets/initialAdminPassword
xxxxxxxxxxxxxxxxxx     ## found initial password
# escape from container (CTRL+PQ)

こんな感じでパスワードゲット。
さっき開いたwebのjenkins GUIでパスワード入力。
そのまま指示に従って進む。
admin user を作成する。

3. 自分のイメージとして保存して、Docker Hubに保管する

立ち上がったjenkinsにプラグインなど入れてみる
その状態で保存したいのでcommitして新しいイメージ作ってタグ付ける
後でdocker hubに保管するために'レポジトリ名/イメージ名:タグ'という書式にする
docker pushでアップロードする。

docker commit ${containerID} ${dockerhub_repository_name}/${new_image_name}:1.0
docker images  ## 新しいイメージが作成されていることを確認
docker login   ## Docker Hubのアカウントで認証
docker push ${dockerhub_repository_name}/${new_image_name}:1.0

また後でいろいろいじるときはdocker pullか、もしくはKitematicのGUI上で操作するかで、再びダウンロード。

4. 所感と次の目標

あっという間にJenkinsサーバが出来た。30分もかかってない。超ラク。感動する。

次の目標:: Dockerfileをいろいろ試す

penguin_dream
フロントエンド(主にjavascript)、プログラミング、インフラ構築、インフラ運用、CIなどのメモ。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした