一、docker compose文件
vi jenkins.yml加入以下内容。
services:
jenkins:
image: jenkins/jenkins:jdk17
container_name: jenkins
restart: always
# 指定用户 权限问题
user: root
# 给予容器特权权限,允许进行Docker-in-Docker操作
privileged: true
networks:
- jenkins-n
ports:
# 8080 为 Jenkins 的 Web 端口
- 80:8080
environment:
DOCKER_TLS_CERTDIR: /certs
TZ: 'Asia/Shanghai'
volumes:
# Jenkins 数据目录映射出来,方面操作和备份
- /srv/jenkins/certs:/certs/client
- /srv/jenkins/data:/var/jenkins_home
# 把宿主机的 docker 和 docker-compose 给 Jenkins 使用,这样可以直接在 Jenkins 内部打镜像,并直接操作容器
- /usr/bin/docker:/usr/bin/docker
- /var/run/docker.sock:/var/run/docker.sock
- /usr/local/bin/docker-compose:/usr/local/bin/docker-compose
deploy:
resources:
limits:
cpus: '1.0'
memory: 1024m
networks:
jenkins-n:
driver: bridge
-
启动容器
docker compose -f ./jenkins.yml up -d -
默认用户名root 获取初始密码:
sudo docker exec -it jenkins cat /var/jenkins_home/secrets/initialAdminPassword
至此单机的jenkins部署完毕。