目录
0-背景
生产环境上正常运行的jenkins需要迁移到新的服务器上,又不希望重新部署后数据不一致。
1-源服务器上操作
查看正在运行的容器
docker ps
将正在运行的容器制作成新的容器
docker commit -a "提交的镜像作者" -m "提交时的说明文字" -p 正在运行中的容器ID myjenkins:v1
参数说明:-p 在commit时,将容器暂停
打包新镜像
docker save -o myjenkins.tar myjenkins:v1
将新镜像拷贝到新的服务器上
scp myjenkins.tar root@新服务器名:/root/
打包存储卷
cd /opt/
tar cf jenkins.tar jenkins
将存储卷拷贝到新服务器上
scp jenkins.tar root@新服务器名:/opt/
2-目标服务器上操作
新建jenkins用户组
groupadd jenkins
新建jenkins用户
useradd jenkins -s /sbin/nologin -M -g jenkins
查看jenkins用户
id jenkins
编写docker安装脚本
cat > /opt/docker.sh <<EOF
#!/bin/bash
yum install -y yum-utils device-mapper-persistent-data lvm2
wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo
sed -i 's+download.docker.com+mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo
yum makecache fast
yum install docker-ce -y
systemctl start docker
EOF
运行脚本安装docker
sh /opt/docker.sh
解压存储卷
tar xf jenkins.tar -C /opt/
查看目录权限
ll /opt/
如果不是jenkins用下面命令更改目录权限
chown -R jenkins:jenkins /opt/jenkins/
解压镜像
docker load < myjenkins.tar
查看镜像
docker images
更改镜像tag
docker tag myjenkins:v1 docker.io/jenkins/jenkins:latest
运行容器
docker run -itd -p 8088:8080 -p 50000:50000 --name jenkins --privileged=true -v /opt/jenkins:/var/jenkins_home jenkins/jenkins:latest
登录查看是否与源站数据相同