docker部署 jenkins

环境:

CentOS Linux release 7.5.1804 (Core)

Docker version 19.03.12

 

参考

官方文档 https://hub.docker.com/r/jenkins/jenkins、https://www.jenkins.io/doc/book/installing/docker/

https://www.cnblogs.com/esofar/p/11163583.html

 

1. 拉取最新版jenkins镜像

#为了加快下载速度???好像也没加快啊
[root@localhost ~]# curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
docker version >= 1.12
{"registry-mirrors": ["http://f1361db2.m.daocloud.io"]}
Success.
You need to restart docker to take effect: sudo systemctl restart docker 

systemctl restart docker

复制代码
#查找可用镜像
[root@~]# docker search jenkins/jenkins NAME DESCRIPTION STARS OFFICIAL AUTOMATED jenkins/jenkins The leading open source automation server 2929 jenkins/jenkins-experimental Experimental images of Jenkins. These images… 3 [OK] jenkins/jenkinsfile-runner Jenkinsfile Runner packages 0

#拉取镜像
[root@localhost ~]# docker pull jenkins/jenkins

#确定镜像
[root@localhost develop]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
jenkins/jenkins latest 8abb1f037d12 6 days ago 463MB
复制代码

#查看镜像信息

docker inspect 8abb1f037d12 或者 docker inspect jenkins/jenkins
复制代码

"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "jenkins",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"50000/tcp": {},
"8080/tcp": {}
},
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"LANG=C.UTF-8",
"JENKINS_HOME=/var/jenkins_home",
"JENKINS_SLAVE_AGENT_PORT=50000",
"REF=/usr/share/jenkins/ref",
"JENKINS_VERSION=2.337",
"JENKINS_UC=https://updates.jenkins.io",
"JENKINS_UC_EXPERIMENTAL=https://updates.jenkins.io/experimental",
"JENKINS_INCREMENTALS_REPO_MIRROR=https://repo.jenkins-ci.org/incrementals",
"COPY_REFERENCE_FILE_LOG=/var/jenkins_home/copy_reference_file.log",
"JAVA_HOME=/opt/java/openjdk"
],
"Cmd": null,
"Image": "",
"Volumes": {
"/var/jenkins_home": {}
},
"WorkingDir": "",
"Entrypoint": [
"/sbin/tini",
"--",
"/usr/local/bin/jenkins.sh"
]

复制代码

#运行jenkins

复制代码
[root@localhost develop]# docker run --name jenkins -d -p 9003:8080 -p 9004:50000 -v /home/develop/jenkins/:/var/jenkins_home jenkins/jenkins:latest 
WARNING: IPv4 forwarding is disabled. Networking will not work.
3bd29948c63b423e3e6147c534ce8c989915553a85dde08516fc53006a0b9f11

#解决方法

vim /etc/sysctl.conf

#添加如下代码:

net.ipv4.ip_forward=1

#重启network服务

systemctl restart network

#查看是否修改成功

sysctl net.ipv4.ip_forward

#注意文件夹权限 chmod -R a+x /home/develop/jenkins/

#先启动一个jenkins容器(不挂载数据卷)docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH 将jenkins文件拉出来,docker rm CONTAINER

#重新创建一个CONTAINER(挂载数据卷)

[root@localhost develop]# docker run --name jenkins -d -p 9003:8080 -p 9004:50000 -v /home/develop/jenkins/:/var/jenkins_home jenkins/jenkins:latest
ed3d042634173bcc9dc17026461af87c98a2e65fd5f332d278f5276991d3d923 
复制代码

其他

复制代码
#列出当前运行的容器
[root@localhost develop]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3bd29948c63b        jenkins/jenkins:latest   "/sbin/tini -- /usr/…"   4 minutes ago       Up 4 minutes        0.0.0.0:9003->8080/tcp, 0.0.0.0:9004->50000/tcp   jenkins
#启停容器/容器ID
docker stop jenkins 或者 docker stop 3bd29948c63b
docker start/stop/restart ....
#删除容器
docker rm jenkins 或者 docker rm 3bd29948c63b
复制代码

 登录 http://192.168.101.6:9003

/var/jenkins_home/secrets/initialAdminPassword 指的是jenkins容器中路径,

对应数据卷中 /home/develop/jenkins/secrets/initialAdminPassword  

 

 

 

进入jenkins容器,-u root表示使用root登录

docker exec -it  -u root jenkins /bin/bash

 

posted @   huangyn  阅读(122)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示