【问题标题】:How can i install jenkins by using a dockerfile?如何使用 dockerfile 安装 jenkins?
【发布时间】:2022-01-04 23:42:04
【问题描述】:

我想使用一个 dind docker 镜像作为基础镜像,然后在其中安装 jenkins。 这是我的 dockerfile : ...

FROM docker:20.10.11-dind-alpine3.14
USER root
RUN apk add curl &&\
    curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io.key |  tee &&\
    /usr/share/keyrings/jenkins-keyring.asc > /dev/null &&\
    echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] &&\
    https://pkg.jenkins.io/debian-stable binary/ |  tee &&\
    /etc/apt/sources.list.d/jenkins.list > /dev/null &&\
    apt-get update &&\
    apt-get install jenkins &&\
    apk update &&  apk upgrade && \
    apk add --update nodejs npm

...

我从 ubunto 的 jenkins 安装指南中获取了安装命令 但是当我开始构建图像时,我得到了这个错误:

...

/bin/sh: /usr/share/keyrings/jenkins-keyring.asc: not found

...

【问题讨论】:

  • 你没有完全正确地copy the commands
  • 您能否将“Docker”和“Jenkins”作为两个独立的东西运行,也许在您的主机 Docker 守护进程中运行 Jenkins 而不是尝试使用 DinD?然后你就可以使用未经修改的jenkins/jenkins 图像了。

标签: docker jenkins docker-in-docker


【解决方案1】:

就我而言,我使用了jenkins官方的docker镜像并挂载docker.sock来使用宿主机docker。

docker container run --name jenkins --detach --restart=always \
  --volume /var/run/docker.sock:/var/run/docker.sock \
  --volume jenkins-data:/var/jenkins_home \
  --publish 8081:8080 \
  --publish 50000:50000 \
  jenkins/jenkins:latest-jdk8

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-07
    • 1970-01-01
    • 2017-12-01
    • 2019-02-10
    • 1970-01-01
    • 2022-10-25
    • 2020-02-14
    • 1970-01-01
    相关资源
    最近更新 更多