質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Jenkins

Jenkinsとは、Apache TomcatなどのServletで動作しているサーバーベースシステムです。Jenkinsはオープンソースであり、LInux,Mac OS X,Windows,Solaris,FreeBSDとOpenBSDのためのパッケージがあります。

プロキシ

プロキシは、二つ以上の相互接続されているプログラム又はデバイスの間に存在する中間サーバを指します。プロキシは、接続者の「代理」としてインターネット接続を行い、接続元にレスポンスを返します。また、その機能を実現するソフトウェアの意味合いもあります。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

1回答

1620閲覧

プロキシ変更時のjenkinsのdockerImageの再ビルド

mm_ss_kk

総合スコア0

Jenkins

Jenkinsとは、Apache TomcatなどのServletで動作しているサーバーベースシステムです。Jenkinsはオープンソースであり、LInux,Mac OS X,Windows,Solaris,FreeBSDとOpenBSDのためのパッケージがあります。

プロキシ

プロキシは、二つ以上の相互接続されているプログラム又はデバイスの間に存在する中間サーバを指します。プロキシは、接続者の「代理」としてインターネット接続を行い、接続元にレスポンスを返します。また、その機能を実現するソフトウェアの意味合いもあります。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

0クリップ

投稿2020/06/17 03:12

前提・実現したいこと

ここに質問の内容を詳しく書いてください。
jenkins,docker 初心者です。
会社でRHEL上にjenkinsのコンテナを起動し、テスト自動化の効果検証をしています。
先日プロキシ変更の必要があり、jenkinsのイメージをビルドした際のコマンドが

docker build -f Dockerfile_jenkins --no--cache --build-arg
HTTP_PROXY={プロキシ} --build-arg HTTPS_PROXY={プロキシ} -t
jenkins/jenkins:2.204.2-slim-custom

で、ビルドするdockerファイルにコマンドからプロキシ設定を流し込んでいたので
イメージからビルドしなおす必要があると判断しました。
なのでjenkinsのコンテナを削除してイメージを削除して、ビルドコマンドの
プロキシを変更して再度イメージをビルドしているのですが、下記のエラーが出てしまって
コンテナがうまく起動できません。

発生している問題・エラーメッセージ

useradd : warning: the home directory already exists. Not copying any file from skel directory into it.

該当のソースコード

Dockerfile_jenkins

1ARG user=jenins 2ARG group=jenkins 3ARG uid=1000 4ARG gid=1000 5ARG http_port=8080 6ARG agent_port=50000 7ARG JENKINS_HOME=/var/jenkins_home 8 9ENV JENKINS_HOME $JENKISN_HOME 10ENV JENKINS_SLAVE_AGENT_PORT ${agent_port} 11ENV REF=usr/share/jenkins/ref 12 13RUN mkdir -p /var-p $JENKISN_HOME \ 14 && chown ${uid}:${gid} $JENKISN_HOME \ 15 && groupadd -g &{gid} ${group} \ 16 && useradd -d "$JENKISN_HOME" -u ${uid} -g {gid} -m -s /bin/bash ${user} 17

試したこと

/var/jenkins_homeの削除
$JENKISN_HOME=jenkins_home_2 の変更

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_shinoda

2020/06/28 23:14

ねんのため、可能な限り Dockerfile のベースイメージに関する情報を追記お願いします 1. Dokerfile の FROM インストラクション 2. ベースイメージの Dockerfile が非公開であれば 公開できない部分を省いて可能な限り追記お願いします これらの情報によっては回答の内容が変わる可能性があるためです
guest

回答1

0

ARG user=jenins ARG group=jenkins ARG uid=1000 ARG gid=1000 ARG http_port=8080 ARG agent_port=50000 ARG JENKINS_HOME=/var/jenkins_home

これらの --build-arg を与えずデフォルト値を使ってビルドするのであれば
そもそも RUN のインストラクションは必要ありません

Jenkins はインストールした時点で
OS のユーザーに Jenkins が登録され
/var/jenkins_home にホームディレクトリーが作成されます
jenkins/jenkins のイメージにも最初からそれらが含まれています

Dockerfile を設計した人は
おそらく Jenkins 以外のユーザーで動作させることを想定して設計しており、
ARG を与えずにビルドするテストを実施していないものと思われます

投稿2020/06/28 23:07

y_shinoda

総合スコア3272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問