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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具