gpt4 book ai didi

azure - 如何在 Jenkins Docker 容器中挂载 Azure 应用服务存储?

转载 作者:行者123 更新时间:2023-12-02 18:07:39 25 4
gpt4 key购买 nike

我正在尝试将 Jenkins 托管在 Azure 应用服务的 Docker 容器中。这意味着它是“linux”托管。

默认情况下 jenkins/jenkins-2.110-alpine Docker image将其数据存储在容器中的/var/jenkins_home 文件夹中。我希望此数据/配置保留到 Azure 持久存储,以便在容器重新启动时保留。

我已阅读 documentationblogs说明如果容器数据存储在/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 应用服务时,我在/home 文件夹中看不到该文件(在 Kudu 控制台中查看)。应用程序启动得很好,但是当我重新启动容器时,我丢失了所有数据。

我错过了什么?

最佳答案

这是预期的,因为您只在 Azure 主机上保留符号链接(symbolic link) (ln -s/var/jenkins_home/home/jenkins)。所有文件实际上都存在于容器内。为此,您必须实际更改 Jenkins 配置以将所有数据存储在您已在上面的 Dockerfile 中创建的 /home/jenkins 中。

快速搜索Jenkins data folder建议您将环境变量 JENKINS_HOME 设置为您的目录。在您的Dockerfile中:

ENV JENKINS_HOME /home/jenkins

关于azure - 如何在 Jenkins Docker 容器中挂载 Azure 应用服务存储?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49212556/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com