Jenkins Centos 7 master 是从 Docker jenkins/jenkins 安装的。
我无法使用 jlnp 将旧的 Windows 7、macOS 和 Linux 从站连接到主站。
通常 Jenkins 从代理显示:
线索:
安装使用:
sudo systemctl start docker
sudo docker pull jenkins/jenkins
sudo docker run --name jenkins -p 8080:8080 -p 50000:50000 -u 1001 -v /home/jenkins/jenkins:/var/jenkins_home jenkins/jenkins
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --reload
添加线索:
这是我第一次使用 Docker 安装 jenkins。
它正在运行 /home/jenkins/jenkins。
我在/jenkins/logs/slaves/
中找不到有用的线索我在主从服务器上禁用了 Centos 和防火墙
我是码头新手。
sudo docker log -f jenkins
显示 JNLP4 连接错误,指出 root 不可写。
我的问题听起来与此非常相似:
如果在配置 #474 中定义了用户,则 docker-slave 永远不会连接到 master我更改为运行 LTS 版本,现在我可以连接从属设备了:
sudo docker run -p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts
如果您仍然遇到问题,我建议初学者尝试以特权用户身份运行。这当然不是一个好的安全实践,但至少它可以帮助您找到根本原因。有关更多详细信息,请参阅:https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capability
docker run --privileged=true -p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts
我还会更好地研究您在 docker 运行中公开的网络,即 --network=host。有关更多选项,请参阅:
docker run --network=host -p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts
将允许你的jenkins docker接管机器的网络接口。再说一遍,这不是一个好的做法,但对于调试目的来说非常有用。