我在一个docker swarm中运行Jenkins和worker节点。我使用docker stack和一个docker-compose.yml文件来部署节点。在Jenkins容器中,我安装了swam插件。
一切都很顺利,Jenkins启动时检测到所有节点并添加到主节点。现在,突然这不再起作用。主节点不检测工作节点。
要初始化我使用的Docker Swarm
docker swarm init
要启动我使用的Docker容器
docker stack deploy --compose-file <path_to_compose_file> <name_of_stack>
我将docker-compose. yml简化为必需的。
version: '3'
services:
jenkins-master:
image: jenkins-master:latest
volumes:
- /var/docker-data/master-volume:/var/jenkins_home
- /var/docker-data/backup-volume:/var/lib/backup
ports:
- "443:8443"
- "80:8080"
- "50000:50000"
networks:
- jenkins_swarm
deploy:
placement:
constraints:
- node.role == manager
jenkins-worker:
image: jenkins-worker:latest
networks:
- jenkins_swarm
command: -labels "worker" -executors 8 -master "http://<IP of master>/"
deploy:
mode: replicated
replicas: 1
placement:
constraints:
- node.role == manager
networks:
jenkins_swarm:
有没有人遇到过类似的问题?我做错了什么吗?
1条答案
按热度按时间ryevplcw1#
您可以通过在每个工作节点上运行
docker info
来验证每个工作节点是否正常运行,还可以验证Jenkins主节点是否能够连接到工作节点,检查日志,检查swarm插件是否安装并正常运行,最后检查docker-compose.yml
文件中jenkins-worker
的配置。