【发布时间】: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