文章目录
pull Jenkins镜像
docker pull jenkinsci/blueocean
docker pull jenkins/jenkins:latest
注意要用jenkins/jenkins:latest,如果用jenkins:latest的话,版本会比较低,可以去hub官网上查看下版本信息
jenkinsci/blueocean与jenkins/jenkins区别
jenkinsci/blueocean image(来自 the Docker Hub repository)。 该镜像包含当前的长期支持 (LTS) 的Jenkins版本 (可以投入使用) ,捆绑了所有Blue Ocean插件和功能。这意味着你不需要单独安装Blue Ocean插件。(推荐)
jenkins/jenkins 只包含基础的镜像,需要自己手动去安装插件,可理解为基础版本。
启动容器
docker run
docker run -d \
--name jenkins -u root \
--restart always \
--network bridge \
-p 8080:8080 \
-p 50000:50000 \
-v /etc/localtime:/etc/localtime \
-v /home/jenkins:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
jenkinsci/blueocean
docker run -d \
--name jenkins -u root \
--restart always \
-v /etc/localtime:/etc/localtime \
-v /home/jenkins:/var/jenkins_home \
jenkinsci/blueocean
-p 50000:50000
: 如果您在其他机器上设置了一个或多个基于JNLP的Jenkins代理程序,而这些代理程序又与 jenkinsci/blueocean 容器交互(充当“主”Jenkins服务器,或者简称为“Jenkins主”), 则这是必需的。默认情况下,基于JNLP的Jenkins代理通过TCP端口50000与Jenkins主站进行通信。
docker-compose启动
docker-compose -f up -d jenkins
docker-compose.yml:
version: '3.2'
services:
jenkins:
user: root
restart: always
image: jenkinsci/blueocean:latest
container_name: jenkins
environment:
- TZ=Asia/Shanghai
volumes:
- /etc/localtime:/etc/localtime
- ./jenkins:/var/jenkins_home
network_mode: "host"
需要root启动,否则有权限问题:
首次登录解锁
管理员密码获取方法,编辑initialAdminPassword文件查看,把密码输入登录中的密码即可,开始使用。
挂载后,可在宿主机查看:
vim jenkins/secrets/initialAdminPassword
问题
启动jenkins成功,浏览器无法访问
可以先进入容器,curl XGET http://localhost:8080是否有返回消息
如果有返回消息,证明Jenkins是正常的,然后ping hostIP,查看容器与host的网络是否正常;