环境:centos8
安装docker
[root@localhost ~]# yum install docker
从docker官网拉取镜像
[root@localhost ~]# docker pull jenkins/jenkins:lts-jdk11
创建本地目录,用于挂载,保存数据。
[root@localhost ~]# mkdir /var/jenkins_home
从官网信息:保证该用户能读写该目录。
chown -R 1000:1000 /var/jenkins_home/
关闭selinux(一定要关闭,不然也会提示权限问题)
[root@localhost var]# setenforce 0
永久关闭。后启动容器。
[root@localhost ~]# vi /etc/selinux/config
修改里面的: SELINUX=disabled
(如果你的其他非root用户的id也是1000的话,则冲突也会造成无写权限。如无此问题忽略虚线内容)
---------------------------------------------------------------------------------------------------------------
[root@localhost var]# id zk
uid=1000(zk) gid=1000(zk) 组=1000(zkxt),10(wheel)
发现用户zk也是1000,则修改成1001
[root@localhost var]# usermod -u 1001 zk
[root@localhost var]# groupmod -g 1001 zk
[root@localhost var]# id zk
uid=1001(zk) gid=1001(zk) 组=1001(zk),10(wheel)
确保用户,和其组id不和1000冲突。然后执行chown 语句
---------------------------------------------------------------------------------------------------------------
启动镜像
[root@localhost ~]# docker run -d -v /var/jenkins_home:/var/jenkins_home -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts-jdk11
如果提示权限问题。添加参数 -u 0 。表示以root用户进行
[root@localhost ~]# docker run -d -v /var/jenkins_home:/var/jenkins_home -p 8080:8080 -p 50000:50000 -u 0 jenkins/jenkins:lts-jdk11
查看
[root@localhost ~]# docker ps
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
062153e8c598 docker.io/jenkins/jenkins:lts-jdk11 28 seconds ago Up 28 seconds ago 0.0.0.0:8080->8080/tcp, 0.0.0.0:50000->50000/tcp clever_johnson
浏览器