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

我从官方的jenkins图片中创build了一个jenkins容器,并添加了一些像git这样的插件。 此外,我做了一些基本的configuration,如身份validation设置和用户注册,然后我添加了jenkins的工作,并在运行jenkins容器工作得很好。 问题是当我将这个jenkins容器作为jenkins图像的新版本提交并重新运行新图像时,所有内容都丢失了:没有添加插件,没有用户注册,没有创buildjenkins作业。 有没有人可以帮助我做一个新的jenkins图像与我所有的configuration添加? 谢谢你们。

问候,yuliang

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

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

也可以检查这个非常有用的导师DOCKER&JENKINS:数据解释器解释主机安装的卷和数据容器

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

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

默认的Docker在每个容器基础上pipe理这个容量。 如果您想使用与旧图像/容器版本相同的数据,则主要有两种select:

在运行时为卷提供一个名称

 docker run -v jenkinshome:/var/jenkins_home jenkins 

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

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

这样数据将持续图像升级。 您可以阅读官方Docker文档中有关pipe理数据的更多信息。