我刚刚开始学习Docker和Jenkins,并想在Docker容器中运行Jenkins。
我指的是这个repo on github。它有一个Dockerfile
(Dockerfile link),它使用openjdk:8-jdk-stretch
作为其基本图像
我想使用centOS
/其他任何较小的基本图像。
FROM centOS
而不是FROM openjdk:8-jdk-stretch
,但这没用。9090
和AGENT端口上运行
55000
。这就是我对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。我很震惊,任何帮助/线索都将不胜感激。
答案 0 :(得分:2)
如果要缩小图像,只需使用以下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
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
在 Alpine 风味的图像中,您使用apk安装软件。
FROM jenkinsci/jenkins:2.154-alpine
USER root
RUN apk --update add \
curl \
git
USER jenkins
没有基于CentOS的官方Jenkins Docker映像。尽管制作自己的文件是可能的,但花时间想出一个能正常工作的Dockerfile以及花费时间来维护它很可能不值得为您带来额外的价值。