【问题标题】:How to mount Azure App Service storage in Jenkins Docker Container?如何在 Jenkins Docker 容器中挂载 Azure App Service 存储?
【发布时间】:2018-03-10 18:25:45
【问题描述】:

我正在尝试在 Azure 应用服务的 Docker 容器中托管 Jenkins。这意味着它是“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 控制台中查看)。该应用程序启动得很好,但是当我重新启动容器时我丢失了所有数据。

我错过了什么?

【问题讨论】:

  • 嗨@anshoewe,你找到这个问题的答案了吗?
  • 您是否在应用程序设置中设置了环境变量WEBSITES_ENABLE_APP_SERVICE_STORAGE=true?

标签: azure docker jenkins azure-web-app-service


【解决方案1】:

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

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

ENV JENKINS_HOME /home/jenkins

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-26
    • 2017-08-14
    • 2018-05-20
    • 2020-06-29
    • 1970-01-01
    • 1970-01-01
    • 2020-03-11
    • 1970-01-01
    相关资源
    最近更新 更多