我正在尝试在Azure应用程序服务的Docker容器中托管Jenkins。这意味着它是“linux”主机。
默认情况下,jenkins/jenkins-2.110-alpine将其数据存储在容器的/var/jenkins_ image文件夹中。我希望将此数据/配置持久化到Azure持久化存储中,以便在容器重新启动时也能持久化。
我读过documentation和blogs,他们说如果容器数据存储在/home文件夹中,就可以持久化容器数据。
所以我已经定制了Jenkins Dockerfile,如下所示...
FROM jenkins/jenkins:2.110-alpine
USER root
RUN mkdir /home/jenkins
RUN ln -s /var/jenkins_home /home/jenkins
USER jenkins然而,当我部署到Azure App Service时,我没有在我的/home文件夹中看到该文件(在Kudu控制台中查找)。应用程序启动得很好,但当我重新启动容器时,我丢失了所有数据。
我遗漏了什么?
发布于 2018-11-12 20:52:14
这是意料之中的,因为您只在Azure主机上持久化符号链接(ln -s /var/jenkins_home /home/jenkins)。所有文件都实际存在于容器中。要做到这一点,您必须实际更改Jenkins配置,将所有数据存储在您已经在上面的Dockerfile中创建的/home/jenkins中。
快速搜索Jenkins data folder建议您将环境变量JENKINS_HOME设置为您的目录。在你的Dockerfile中
ENV JENKINS_HOME /home/jenkinshttps://stackoverflow.com/questions/49212556
复制相似问题