我刚刚开始学习docker和Jenkins,并希望在Docker容器中运行Jenkins。
Dockerfile
(Dockerfile link)使用openjdk:8-jdk-stretch
作为其基本图像centOS
/任何其他较小的基本图像。FROM centOS
而不是FROM openjdk:8-jdk-stretch
,但这不起作用。9090
上的HTTP端口55000
和AGENT端口上运行。所以这就是我对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
根据这个Dockerfile
(Dockerfile Link)保持所有其他变化相同
我希望我的容器在CentOS上运行Jenkins /任何其他较小的基本映像,并能够将该容器映像推送到我的DockerHub。我很震惊,任何帮助/领导都会受到赞赏。
如果你想要一个较小的图像,只需使用以下image tags之一:
现在为端口。在容器内打开的端口并不重要,因为docker将为您提供publish它们在docker主机上选择的任何端口的能力。
简而言之,启动您的容器:
docker run -d \
-p 9090:8080 \
-p 55000:50000 \
jenkinsci/jenkins:2.154-alpine
如果需要将文件添加到Jenkins容器,只需使用卷:
docker run -d \
-p 9090:8080 \
-p 55000:50000 \
-v /home/somewhere/workspace/:/my_data \
jenkinsci/jenkins:2.154-xxxx
苗条的味道图像是基于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
在Alpine风格的图像中,您使用apk安装软件。
FROM jenkinsci/jenkins:2.154-alpine
USER root
RUN apk --update add \
curl \
git
USER jenkins
没有基于CentOS的官方Jenkins docker图像。虽然制作你自己的东西是可能的,但是你花费时间来制作一个有效的Docker文件,以及你需要花费多少时间来维护它,这很可能不值得它给你带来额外的价值。