Jenkins在以centOS为基础映像的容器中运行?

时间:2019-03-16 18:53:39

标签: docker jenkins dockerfile dockerhub

我刚刚开始学习Docker和Jenkins,并想在Docker容器中运行Jenkins。

  • 我指的是这个repo on github。它有一个DockerfileDockerfile link),它使用openjdk:8-jdk-stretch作为其基本图像

  • 我想使用centOS /其他任何较小的基本图像。

  • 我尝试写FROM centOS而不是FROM openjdk:8-jdk-stretch,但这没用。
  • 我希望它在HTTP端口9090和AGENT端口上运行 55000

我得到的输出看起来像这样 Output

这就是我对Dockerfile所做的事情。

FROM openjdk:8-jdk-stretch
RUN apt-get update && apt-get install -y git curl && rm -rf/var/lib/apt/lists/*
ARG user=jenkins
ARG group=jenkins
ARG uid=1000
ARG gid=1000
ARG http_port=9090
ARG agent_port=55000

根据此DockerfileDockerfile Link)保持所有其他更改

我希望我的容器在CentOS上运行Jenkins /其他任何较小的基本映像,并能够将该容器映像推送到我的DockerHub。我很震惊,任何帮助/线索都将不胜感激。

1 个答案:

答案 0 :(得分:2)

詹金斯图像尺寸

如果要缩小图像,只需使用以下image tags之一:

  • jenkinsci / jenkins:2.154-slim(408 MB)
  • jenkinsci / jenkins:2.154-alpine(222 MB)

发布端口

现在输入端口。容器中打开的端口无关紧要,因为docker将为您提供publish到您在docker主机上选择的任何端口的功能。

简而言之,请使用以下命令启动容器:

docker run -d \
    -p 9090:8080 \
    -p 55000:50000 \
    jenkinsci/jenkins:2.154-alpine

将文件添加到Jenkins容器

如果需要将文件添加到Jenkins容器中,只需使用一个卷即可:

docker run -d \
    -p 9090:8080 \
    -p 55000:50000 \
    -v /home/somewhere/workspace/:/my_data \
    jenkinsci/jenkins:2.154-xxxx

在Jenkins图片中添加软件

jenkinsci / jenkins:2.154-slim

slim 风味图像基于FROM openjdk:8-jdk-slim,而其本身基于FROM debian:stretch-slim。现在我们知道它是基于Debian的,可以使用`ap

完成安装软件。
FROM jenkinsci/jenkins:2.154-slim 
USER root
RUN apt-get update \
    && apt-get install -y \
      curl \
      git \
    && rm -rf/var/lib/apt/lists/*
USER jenkins

jenkinsci / jenkins:2.154-alpine

Alpine 风味的图像中,您使用apk安装软件。

FROM jenkinsci/jenkins:2.154-alpine 
USER root
RUN apk --update add \
      curl \
      git 
USER jenkins

CentOS Jenkins映像

没有基于CentOS的官方Jenkins Docker映像。尽管制作自己的文件是可能的,但花时间想出一个能正常工作的Dockerfile以及花费时间来维护它很可能不值得为您带来额外的价值。