问题: docker 部署的 jenkins 在迁移时如果只迁移 jenkins_home 目录到新服务器上,在新服务器上部署 jenkins 后在使用中会遇到任务无法正常构建、系统奔溃报错。解决办法就是将镜像也一并迁移。
镜像迁移
- 旧服务器导出镜像
# 根据容器创建新镜像docker commit jenkins my/jenkins:1.0.0# 导出镜像docker save -o my-jenkins.tar my/jenkins:1.0.0
- 新服务器导入镜像
# 新环境中导入镜像docker load -i my-jenkins.tar# 新环境中 jenkins_home 目录添加权限sudo chown -R 1000:1000 /u01/jenkins_home
- docker-compose.yml
version: '3'services: jenkins: image: my/jenkins:1.0.0 container_name: jenkins restart: always network_mode: "host" privileged: true volumes: - /etc/localtime:/etc/localtime - /u01/jenkins_home:/var/jenkins_home environment: JAVA_OPTS: "-Duser.timezone=Asia/Shanghai" JENKINS_OPTS: "--prefix=/jenkins --httpPort=8000" JENKINS_ARGS: "--prefix=/jenkins"
- 部署 jenkins
docker-compose up -d jenkins
用私有镜像仓库更方便,该方法针对没有镜像仓库的同学。
网易云镜像仓库:https://c.163.com/hub#/m/home/