我从官方jenkins图像中创建了一个jenkins容器,并添加了一些像git这样的插件。此外,我做了一些基本的配置,如身份验证设置和用户注册,然后我添加了一个jenkins工作,它在运行的jenkins容器中运行良好。 问题是,当我将这个jenkins容器作为jenkins图像的新版本提交并重新运行新图像时,一切都丢失了:没有添加插件,没有用户注册,也没有创建jenkins作业。 有没有人可以帮我制作一个新的jenkins图像,并添加了我的所有配置?谢谢大家。
此致 渔梁
答案 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了解有关管理数据的更多信息。