服务器:centos7.4
docker:1.12.6
1.下载jenkins镜像,等待镜像下载完成
[root@localhost ~]# docker pull jenkins
Using default tag: latest
Trying to pull repository docker.io/library/jenkins ...
latest: Pulling from docker.io/library/jenkins
3e17c6eae66c: Pull complete
fdfb54153de7: Pull complete
a4ca6e73242a: Pull complete
93bd198d0a5f: Pull complete
ca4d78fb08d6: Pull complete
ad3d1bdcab4b: Pull complete
4853d1e6d0c1: Pull complete
49e4624ad45f: Pull complete
bcbcd4c3ef93: Pull complete
684fd378d7b5: Pull complete
022bbe93d4a7: Pull complete
b81594f168ea: Pull complete
9d129b450ba7: Pull complete
4440ce182be6: Pull complete
6740814fee7d: Pull complete
569c9d093c48: Pull complete
3476a17f5aaf: Pull complete
b5f15cfc5e79: Pull complete
f09efd2ee9bd: Pull complete
8e110586720b: Pull complete
Digest: sha256:f369cdbc48c80535a590ed5e00f4bc209f86c53b715851a3d655b70bb1a67858
2.查看本地镜像
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/jenkins latest 3f08dc4f3f5d 3 weeks ago 808.9 MB
3.创建一个本地jenkins_home
在home创建一个jenkins_home用于挂载容器中jenkins的数据,来保证数据得持久化
[root@localhost home]# pwd
/home
[root@localhost home]# mkdir jenkins_home
[root@localhost home]# ls
centos-ssh-root hjc jenkins_home
4.将刚刚创建得jenkins_home赋予操作权限
这里操作得原因是因为jenkins得容器运行的时候并不是以root来运行,所以不一定有这个目录得操作权限,先查看一下用户得id
[hjc@localhost root]$ whoami && id
hjc
uid=1000(hjc) gid=1000(hjc) 组=1000(hjc),1001(docker) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
在这里可以看到这个用户得id是1000,那么我们就把jenkins_home赋予id=1000这个用户
[root@localhost home]# chown -R 1000 /home/jenkins_home
[root@localhost home]# ls -al
总用量 4
drwxr-xr-x. 5 root root 60 11月 26 08:55 .
dr-xr-xr-x. 17 root root 224 11月 18 10:01 ..
drwxr-xr-x. 2 root root 24 11月 25 20:21 centos-ssh-root
drwx------. 14 hjc hjc 4096 11月 18 10:15 hjc
drwxr-xr-x. 2 hjc root 6 11月 26 08:55 jenkins_home
可以看到hjc这个用户已经拥有了jenkins_home的权限
5.创建一个jenkins容器,并且启动这个容器
[root@localhost home]# docker run -d -p 8081:8080 -p 50000:50000 -v /home/jenkins_home:/var/jenkins_home --privileged=true --name jenkins jenkins
3cfe03dd6e319670a3e28a7d09b89e19748b3722a177be24a657aa3c5f66da72
这样我们成功创建了一个容器,并且成功启动了jenkins服务,同时,返回了一个容器得id,查看一下容器得运行状态
[root@localhost home]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3cfe03dd6e31 jenkins "/bin/tini -- /usr/lo" 6 seconds ago Up 5 seconds 0.0.0.0:50000->50000/tcp, 0.0.0.0:8081->8080/tcp jenkins
说明:
docker run :创建并运行一个容器
-d:以后台得形式运行容器
-p:将容器得端口挂载到宿主机得端口
-v:将容器中得数据挂到宿主机得数据卷上,保证数据得持久化
--privileged:给容器加一个特权,使得运行这个容器得用户可以操作容器中得数据
--name:指定一个容器得名字
6.验证,使用宿主机得ip:8081来访问jenkins服务
这个默认得初始密码我们可以在宿主机得/home/jenkins_home下对应得位置来查看
[root@localhost jenkins_home]# cat secrets/initialAdminPassword
133e420087384591bfd10979aaa52a20
在浏览器中输入这个默认得密码就可以开始jenkins服务了~
网友评论