【问题标题】:Using jenkins in a docker container with /var/jenkins_home on a NAS storage drive在 docker 容器中使用 jenkins,并在 NAS 存储驱动器上使用 /var/jenkins_home
【发布时间】:2019-01-14 02:55:19
【问题描述】:

我正在运行 ubuntu 18.04,并使用通过 cifs 安装的 NAS 驱动器。我已经拉入jenkins:latest 图像并使用以下运行命令启动它:

docker run --restart=unless-stopped --name devonejenkins -p 8080:8080 -p 50000:50000 -v /mnt/storage/jenkins:/var/jenkins_home jenkins

该命令不起作用。但是,在 vm 上使用本地磁盘,如下所示:

docker run --restart=unless-stopped --name devonejenkins -p 8080:8080 -p 50000:50000 -v /home/chrisg/jenkins:/var/jenkins_home jenkins

似乎工作得很好。

如果不粘贴大量堆栈跟踪代码,这似乎是故障点:

严重:无法初始化詹金斯 java.io.IOException:无法 将 /var/jenkins_home/secrets/initialAdminPassword 的时间戳设置为 1547434033746

【问题讨论】:

    标签: docker jenkins nas


    【解决方案1】:

    这取决于您安装 cifs 卷的方式。

    This example 指的是ContainX/docker-volume-netshare,这是一个 docker 插件,可在您的 docker 容器中安装 NFS v3/4、AWS EFS 或 CIFS。

    older (2015) article 提到权限问题:

    除非您或使用适当的 SELinux 安全上下文安装共享,否则 docker 容器将无法访问您的 CIFS 安装点。

    还有:

    与 NFS 不同,CIFS 挂载在挂载时处理用户身份验证。这意味着我们 CIFS 挂载点上的所有文件和目录都将归同一个用户/组所有。
    如果您的容器中运行的进程的用户和 CIFS 挂载的用户不同,这可能会出现问题。
    我通过使用不同的 uid 和 gid 参数多次安装相同的 CIFS 共享来解决此问题。

    【讨论】:

      猜你喜欢
      • 2022-10-16
      • 1970-01-01
      • 2019-08-28
      • 1970-01-01
      • 2016-12-10
      • 1970-01-01
      • 2016-06-22
      • 2016-09-07
      • 1970-01-01
      相关资源
      最近更新 更多