使用docker 容器安装jenkins比较方便,但是细节比较重要,这里实战安装了一遍,可用:
Error response from daemon: Get "https://registry-1.docker.io/v2/":
net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
这个时候需要将下载镜像的地址修改为国内的一些地址:
vi /etc/docker/daemon.json
然后添加下面的内容:
{
"registry-mirrors": ["https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc"],
"insecure-registries": ["124.71.140.30:5000"]}
然后重启docker:
systemctl daemon-reloadsystemctl restart dockerdocker pull jenkins/jenkins
解决此问题:
docker run -p 8850:8080 -p 50000:50000 -v /home/jenkins_home:/var/jenkins_home -d --name jenkins jenkins/jenkins
这个命令做了以下几件事:
-p 8080:8080:将容器的8080端口映射到宿主机的8080端口,这是Jenkins的Web界面端口。
-p 50000:50000:将容器的50000端口映射到宿主机的50000端口,这是Jenkins代理使用的端口。
-v /home/jenkins_home:/var/jenkins_home:将宿主机的/home/jenkins_home目录挂载到容器的/var/jenkins_home目录,用于持久化Jenkins的数据。注意需要给目录权限:chmod 777 jenkins_home/
-d:以后台模式运行容器。
jenkins/jenkins:使用docker jenkins的镜像。
如果启动失败了,可以查看日志:
docker logs 1d98fc3d74daf3ea2b78bb3a77a46aff5e8f047a4a19fc9df077224f60ad8a56
后面是容器的运行id