运行从正在运行的jenkins容器提交的映像时,为什么作业和系统配置丢失了?

时间:2016-04-14 08:13:57

标签: jenkins docker

我从官方jenkins图像中创建了一个jenkins容器,并添加了一些像git这样的插件。此外,我做了一些基本的配置,如身份验证设置和用户注册,然后我添加了一个jenkins工作,它在运行的jenkins容器中运行良好。 问题是,当我将这个jenkins容器作为jenkins图像的新版本提交并重新运行新图像时,一切都丢失了:没有添加插件,没有用户注册,也没有创建jenkins作业。 有没有人可以帮我制作一个新的jenkins图像,并添加了我的所有配置?谢谢大家。

此致 渔梁

2 个答案:

答案 0 :(得分:3)

你必须在重新运行jenkins图像之前备份你的数据:

docker cp jenkins-dv:/var/jenkins_home /tmp/jenkins-backup

你也可以查看这个非常有用的tutoriel DOCKER & JENKINS: DATA THAT PERSISTS 解释主机安装音量和数据音量容器

答案 1 :(得分:1)

Dockerfile of Jenkins为其主目录定义了一个卷:

# Jenkins home directory is a volume, so configuration and build history 
# can be persisted and survive image upgrades
VOLUME /var/jenkins_home

默认情况下,Docker在每个容器基础上管理此卷。如果您想使用与旧图像/容器版本相同的数据,则主要有两个选项:

在运行时为卷命名

docker run -v jenkinshome:/var/jenkins_home jenkins

或将其映射到主机系统上的卷:

docker run -v /some/dir/jenkinshome:/var/jenkins_home jenkins

这样数据将保持图像升级。您可以在official Docker documentation了解有关管理数据的更多信息。

相关问题