我试图在Azure App Service的Docker容器中托管Jenkins。这意味着它的' linux'托管。
默认情况下,jenkins / jenkins-2.110-alpine Docker image将其数据存储在容器的/ var / jenkins_home文件夹中。我希望这个数据/配置持久保存到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控制台中查看)。应用程序启动很好,但是当我重新启动容器时,我丢失了所有数据。
我错过了什么?
答案 0 :(得分:0)
这是预期的,因为您仅在Azure主机上保留符号链接(ln -s /var/jenkins_home /home/jenkins
)。所有文件实际上都存在于容器内。
为此,您必须实际更改Jenkins配置,以将所有数据存储在您在上面的/home/jenkins
中已经创建的Dockerfile
中。
快速搜索Jenkins data folder意味着您将环境变量JENKINS_HOME
设置为目录。
在您的Dockerfile
中:
ENV JENKINS_HOME /home/jenkins