標準的なプロセスは、アップストリームイメージを拡張することです。上流プロジェクトからDockerファイルを取り出して直接変更する必要があるのは、ゼロからすべてを構築する必要がある企業ポリシーがある場合や、アップストリームでDockerfileを修正して修正できない場合(たとえばDockerfileのボリューム)。拡張の理由は、上流のイメージを引っ張り、変更をDockerfileに再適用せずに子イメージを再構築することによって、最新のパッチを簡単に入手できるからです。
Dockerハブの「公式」ジェンキン画像が数回動きました。それは以前はjenkinsci/jenkinsだったが、それはjenkinsとして公式の図書館に移った。最近は、jenkins/jenkins:ltsに移った。
FROM jenkins/jenkins:lts
ARG GOSU_VERSION=1.10
# switch to root, let the entrypoint drop back to jenkins
USER root
# install debian packages, gosu, and docker
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
vim \
wget \
&& dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')" \
&& wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch" \
&& chmod +x /usr/local/bin/gosu \
&& gosu nobody true \
&& curl -sSL https://get.docker.com/ | sh \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# entrypoint is used to update docker gid and revert back to jenkins user
COPY entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
私はgithubのレポでは、この例の残りの部分を持っている:https://github.com/bmitch3020/jenkins-docker
https://www.youtubeあなたは上流のイメージを拡張したい方法の例は、以下の例のように見えます。 com/watch?v = r5cofUYqnn8、ジェンキンスの完全な画像。スウォームモードで。 –