jenkins系列文章-基于docker部署jenkins应用-swarm

创建jenkins数据卷

1
2
3
4
5
6
7
mkdir -p /data/jenkins

docker volume create --driver local \
--opt device=/data/jenkins \
--opt o=bind \
--opt type=none \
jenkins_data

运行jenkins服务

1
2
3
4
5
6
7
8
9
10
11
12
13
14
docker service create \
--name="jenkins" \
--mount type=volume,source=jenkins_data,destination=/var/jenkins_home \
--mount type=bind,source=/var/run/docker.sock,target=/var/run/docker.sock \
--mount type=bind,source=/usr/bin/docker,target=/usr/bin/docker \
--network traefik-net \
--container-label traefik.backend="jenkins" \
--container-label traefik.frontend.entryPoints="http,https" \
--container-label traefik.frontend.rule="Host: ci.domain.com" \
--container-label traefik.port='8080' \
--container-label traefik.protocol='http' \
--replicas 1 \
--env JAVA_OPTS=-Duser.timezone=Asia/Shanghai \
jenkins/jenkins:latest

初次运行设置

查看初始化密码

1
docker ps
CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS              PORTS                 NAMES
09127dd21822        jenkins/jenkins:latest       "/sbin/tini -- /usr/…"   5 minutes ago       Up 5 minutes        8080/tcp, 50000/tcp   jenkins.1.o9ulu6iayx34aw3r80crpa9np
1
docker exec jenkins.1.o9ulu6iayx34aw3r80crpa9np cat /var/jenkins_home/secrets/initialAdminPassword
271ce03e9de44933b86f21e04b87c3b0

初始化设置

访问ci.domain.com,这个域名为上面指定的访问入口,需要填入上一步获得的初始密码。

安装官方推荐插件

输入密码后确认进入下一步,可以直接点击安装官方推荐插件选项,成功进入后,后面可以自己安装插件的。

设定访问用户及密码

设定用于登陆访问的用户密码,确认即完成。

问题及解决版本

问题1:
在docker构建时出现以下错误提示

docker: error while loading shared libraries: libltdl.so.7: cannot open shared object file: No such file or directory

解决办法

增加挂载参数
--mount type=bind,source=/usr/lib64/libltdl.so.7,target=/usr/lib/x86_64-linux-gnu/libltdl.so.7

问题2:

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.39/auth: dial unix /var/run/docker.sock: connect: permission denied

解决办法

可在宿主机执行
chmod 777 /var/run/docker.sock

问题3:
时区不准确

解决办法

增加环境变量参数
--env JAVA_OPTS=-Duser.timezone=Asia/Shanghai