查找jenkins镜像
docker search jenkins
拉取jenkins镜像
docker pull jenkins/jenkins
创建数据卷并赋予权限
# 这里1000是容器中Jenkins的用户uid
mkdir /button/jenkins_home
chown -R 1000:1000 /button/jenkins_home/
chown -R 1000:1000 /button/apache-maven-3.6.3
chown -R 1000:1000 /button/jdk
chown -R 1000:1000 /var/run/docker.sock
启动
docker run \
--rm \
-d \
--name jenkins \
-p 9999:8080 \
-p 50000:50000 \
-v /button/jdk:/usr/local/src/jdk/jdk1.8 \
-v /button/apache-maven-3.6.3:/opt/apache-maven-3.6.3 \
-v /button/jenkins_home:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /etc/localtime:/etc/localtime \
jenkins/jenkins
说明
# 说明
docker run \
--rm \ 关闭时自动删除Docker容器。如果您需要退出Jenkins,这可以保持整洁。
-d \ 后台运行容器
--name jenkins \ 别名
-p 9999:8080 \
-p 50000:50000 \
-v /button/jdk:/usr/local/src/jdk/jdk1.8 \ jdk挂载目录
-v /button/apache-maven-3.6.3:/opt/apache-maven-3.6.3 \ maven挂载目录
-v /button/jenkins_home:/var/jenkins_home \ jenkins_home挂载目录
-v /var/run/docker.sock:/var/run/docker.sock \ docker.sock文件挂载
-v /etc/localtime:/etc/localtime \ 让容器和服务器时间相同
jenkins/jenkins
访问:http://ip:9999
使用如下命令查看登陆密码:
docker logs -f 容器id
登陆
接下来就可以安装插件,进行配置并使用了。
如果发现jenkins时间不对的话,按照如下操作即可解决。
“系统管理”->“脚本命令行”
执行如下命令:
System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'Asia/Shanghai')
运行之后就可以看到jenkins时间正常了
注:操作中虽然同步了时区信息,宿主机与容器时间一致,但是通过docker logs命令查看log信息时间依旧有问题,暂时还没有解决方案。
https://ost.51cto.com/posts/17486