【问题标题】:Jenkins inbound agent is run as root userJenkins 入站代理以 root 用户身份运行
【发布时间】:2021-01-25 15:22:26
【问题描述】:

我已经使用以下 docker 文件在 jenkins 云配置中定义了一个节点,一切都很好,除了当我运行作业时它以 root 用户身份运行。

FROM jenkins/inbound-agent:alpine as jnlp

FROM maven:3.6.3-jdk-11

ARG DOCKER_VERSION=18.03.0-ce
ARG DOCKER_COMPOSE_VERSION=1.21.0
ARG USER=jenkins

USER root

COPY --from=jnlp /usr/local/bin/jenkins-agent /usr/local/bin/jenkins-agent
COPY --from=jnlp /usr/share/jenkins/agent.jar /usr/share/jenkins/agent.jar

RUN apt-get install ca-certificates wget -y \
    && rm -r /var/lib/apt/lists /var/cache/apt/archives \
    && wget https://storage.googleapis.com/kubernetes-release/release/v1.19.0/bin/linux/amd64/kubectl -q -O /usr/local/bin/kubectl \
    && chmod a+x /usr/local/bin/kubectl

RUN curl -fsSL https://download.docker.com/linux/static/stable/`uname -m`/docker-$DOCKER_VERSION.tgz | tar --strip-components=1 -xz -C /usr/local/bin docker/docker
RUN curl -fsSL https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_VERSION/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose

RUN touch /debug-flag

RUN useradd jenkins

USER jenkins

ENTRYPOINT ["/usr/local/bin/jenkins-agent"] 

当我的工作开始时,用户是 root。而且我需要以非 root 用户身份运行某些作业,我在 jenkins 上的共享库运行良好。 我遇到的唯一问题是当我在一些嵌入了数据库的项目上运行一些测试时,因为它需要在非 root 用户中运行。

【问题讨论】:

    标签: jenkins dockerfile jenkins-pipeline jenkins-slave


    【解决方案1】:

    检查您的 Pod 模板和容器模板,看看您是否设置了“runAsUser”和“runAsGroup”。您可以设置为 1000 作为默认的“jenkins”用户 uid 和 gid。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-06-24
      • 2019-04-06
      • 2015-07-07
      • 2017-04-07
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      相关资源
      最近更新 更多