##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をいろいろ試す