1、pull镜像问题
bash
docker pull jenkins/jenkins:lts
Using default tag: latest
Trying to pull repository docker.io/library/centos ...
Get https://registry-1.docker.io/v2/library/centos/manifests/latest: Get https://auth.docker.io/token?scope=repository%3Alibrary%2Fcentos%3Apull&service=registry.docker.io: net/http: TLS handshake timeout
解决办法:添加dns或修改国内源,根本原因是网络访问不到
2、镜像启动报错:(镜像没有启动对应端口,状态Exited (1)已退出)
bash
[root@iv-yd0kl60qgwwuxjsckauv docker]# docker logs jenkins
INSTALL WARNING: User: missing rw permissions on JENKINS_HOME: /var/jenkins_home
touch: cannot touch '/var/jenkins_home/copy_reference_file.log': Permission denied
Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?
解决方案
要解决这个问题,你需要调整宿主机上/data/jenkins_home/目录的权限,使得容器内的用户(UID为1000)有权读写该目录。可以通过以下命令来实现:
bash
sudo chown -R 1000:1000 /data/jenkins_home/
这个命令会将/data/jenkins_home/目录及其子目录的所有者和群组都更改为UID和GID为1000的用户和组。这样做是基于jenkins/jenkins:lts镜像中,jenkins服务运行在一个UID为1000的用户上的事实。
完成这个权限调整后,你可以重新启动jenkins容器来应用更改:
删除当前的jenkins容器(如果它没有在运行,这一步仍然是必要的,以确保重新启动时可以应用新的权限设置):
bash
docker rm jenkins -f
重新创建并启动jenkins容器:
bash
docker run -d -p 8080:8080 --name jenkins -v /data/jenkins_home:/var/jenkins_home jenkins/jenkins:lts
这样应该能解决权限问题,让jenkins容器能够正常启动并运行。如果在此过程中遇到其他问题,可以通过docker logs jenkins来检查jenkins容器的日志,以获取更多信息。
3、网络访问地址后报错:
bash
该网页无法正常运作14.xx.xx.2 目前无法处理此请求。
HTTP ERROR 502
重启docker
bash
systemctl restart docker
重新删除jenkins容器后再次启动,在此之前需要在云服务页面的安全组放开对应端口
4、安装插件报错:
原因:安装的jenkins版本不是最新的,下载插件时有问题
解决方案:
bash
docker stop jenkins
docker rm jenkins -f
docker rmi jenkins
docker pull jenkins/jenkins:latest
#拉取最新版本的jenkins镜像,重新启动容器即可
docker run -di --name jenkins -p 8080:8080 -v /data/jenkins_home/:/var/jenkins_home jenkins/jenkins:latest