HemingwayM 2020-06-16
本文实验环境:
操作系统:Centos 7.5
Docker Version:18.09.6
打开终端,输入docker search命令搜索 Docker Hub 上可用的 Jenkins 镜像:
$ docker search jenkins NAME DESCRIPTION STARS OFFICIAL AUTOMATED jenkins Official Jenkins Docker image 4328 [OK] jenkins/jenkins The leading open source automation server 1563 jenkinsci/blueocean https://jenkins.io/projects/blueocean 399 jenkinsci/jenkins Jenkins Continuous Integration and Delivery … 367 jenkinsci/jnlp-slave A Jenkins slave using JNLP to establish conn… 110 [OK] jenkins/jnlp-slave a Jenkins agent (FKA "slave") using JNLP to … 86 [OK] ...
使用docker pull命令拉取:
$ docker pull jenkinsci/blueocean Using default tag: latest latest: Pulling from jenkinsci/blueocean Digest: sha256:523769431f19830cfda7ceae37c59c9f01affb551836933aa30114dcaa5df9eb Status: Image is up to date for jenkinsci/blueocean:latest
在本地镜像仓库确认是否已存在:
$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE jenkinsci/blueocean latest ef2dc74fe285 21 hours ago 552MB mysql latest 990386cbd5c0 2 months ago 443MB jenkins latest cd14cecfdb3a 11 months ago 696MB ...
现在,就可以基于下载的镜像运行 Jenkins 容器了,有以下两种运行方式供你参考:
方式一:直接运行,运行期间产生的所有数据都保存在容器内部,容器销毁,数据丢失。
docker run --name jenkins-blueocean -d -p 8081:8080 -p 50001:50000 jenkinsci/blueocean
方式二:Docker 会在宿主机上创建一个数据卷jenkins-data,容器映射该卷以持久化数据。
docker run --name jenkins-blueocean -d -p 8081:8080 -p 50000:50000 -v jenkins-data:/var/jenkins_home jenkinsci/blueocean
Tips:8081 端口用来公开访问 Web 界面,50000 端口允许访问远程 Java (JIRA) API。
这里我使用了第二种方式启动了 一个 Jenkins 容器应用:
$ docker run --name jenkins-blueocean -d -p 8080:8080 -p 50000:50000 -v jenkins-data:/var/jenkins_home jenkinsci/blueocean 93f88d6ca2129fae971298e98e20091570f6903463b203a9235660856f63020e
最后使用docker ps命令确认容器是否已经后台运行:
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0cad9bbe76a6 jenkinsci/blueocean "/sbin/tini -- /usr/…" About an hour ago Up About an hour 0.0.0.0:8080->8080/tcp, 0.0.0.0:50000->50000/tcp jenkins-blueocean
以上如果一切正常,现在就可以通过<ipaddress>:8081访问 Jenkins 的 Web 界面了。