第一步、搜索可用镜像
jenkins官方文档地址https://hub.docker.com/r/jenkins/jenkins
我们在Docker Hub找到改镜像
第二步、拉取镜像
docker pull jenkins/jenkins:centos7
该镜像里面包含jdk,系统是centos,因为jenkins运行需要java环境
第三步、运行容器
docker run \
-d -p 8080:8080 \
-p 50000:50000 \
-v /home/jenkins-data:/var/jenkins_home \
--privileged=true \
--name=my-jenkins \
-u root \
-e JAVA_OPTS=-Dfile.encoding=UTF-8 \
8dd35e19ea6a
docker --privileged=true 参数作用
大约在0.6版,privileged被引入docker。
使用该参数,container内的root拥有真正的root权限。否则,container内的root只是外部的一个普通用户权限。
privileged启动的容器,可以看到很多host上的设备,并且可以执行mount。甚至允许你在docker容器中启动docker容器。
我们启动命令还没加 --privileged=true 参数 ,可以明确看到docker 尝试去运行容器,但是马上就关闭了。尝试使用一些命令,提示permission denied,权限禁止
如果配置了 --privileged=true还是出现 jenkins docker volume权限问题导致运行不成功可以尝试下面的方法
解决办法:使docker里面的运行用户和宿主一样,运行命令 docker run -u root,docker u参数可以指点以哪个用户运行。
接下来通过浏览器就可以访问jenkins了
接着系统会自动安装插件
重启后,就可以用之前系统自动创建的admin账户登陆了