docker 持久化部署jenkins
在docker hub中拉取jenkins镜像
这里选择最新的lts版本
docker pull jenkins/jenkins:lts
或者可以使用指定版本
docker pull jenkins/jenkins:2.387.3-lts
创建jenkins目录
mkdir -p /home/jenkins
groupadd -g 1000 jenkins
useradd -g jenkins -r -s /sbin/nologin -M -d /home/jenkins -u 1000 jenkins
先运行一次,将jenkins首次运行后生成的文件复制到宿主机文件夹中
docker run -it -d -p 8080:8080 -p 50000:50000 \
--name jenkins \
jenkins/jenkins:2.387.3-lts
docker cp jenkins:/var/jenkins_home/config.xml /home/jenkins
docker cp jenkins:/var/jenkins_home/jobs /home/jenkins
docker cp jenkins:/var/jenkins_home/nodes /home/jenkins
docker cp jenkins:/var/jenkins_home/plugins /home/jenkins
docker cp jenkins:/var/jenkins_home/secrets /home/jenkins
docker cp jenkins:/var/jenkins_home/userContent /home/jenkins
docker cp jenkins:/var/jenkins_home/users /home/jenkins
docker cp jenkins:/var/jenkins_home/war /home/jenkins
##将文件夹权限授予jenkins用户,让容器中可以访问
chown -R jenkins:jenkins jenkins/
将文件复制出来之后停止jenkins容器,使用复制出来的配置文件在运行一次
docker stop jenkins
docker rm -f jenkins
docker run -it -d -v /home/jenkins/:/var/jenkins_home \
-p 8080:8080 -p 50000:50000 \
--name jenkins \
--restart always \
jenkins/jenkins:2.387.3-lts
重新运行容器后可以使用浏览器访问jenkins端口为8080
http://127.0.0.1:8080
初始登录密码存放在 /home/jenkins/secrets/initialAdminPassword