2016-10-11 19 views
0

ドッカージェンキンスイメージをダウンロードした後のUbuntuでjenkins_homeフォルダを検索し、インストールの途中で以下のコマンドは私がドッカー中央リポジトリからドッカー・ジェンキンスの画像を引っ張っ

$ docker run -p 8080:8080 -p 50000:50000 Jenkins 

を実行することができませんでした、以下の行が登場しました。

*************************************************************************` 
Jenkins initial setup is required. An admin user has been created and a password generated. 
Please use the following password to proceed to installation: 
xxxxxxxxxxxxxxxxxxxxxx 
This may also be found at: /var/jenkins_home/secrets/initialAdminPassword 
*************************************************************************` 

しかし、私の/varで、何jenkins_homeフォルダが存在しません。

私は次のエラーを取得していると私はlocalhost:8080

INFOを使用して、私のジェンキンスにアクセスすることができませんでした:ジェンキンスが完全にアップしていると
2016年10月11日4時31分19秒AM winstone.Logger logInternalを実行しています
INFO:JVMが終了しています。 Winstoneをシャットダウンする

管理者パスワードが生成されたら、Jenkins Dashboardにアクセスできました。しかしすぐに、JVMが終了し、Jenkinsのページにアクセスできなくなりました。

+3

フォルダー '/ var/jenkins_home'はあなたのホストではなく、あなたのドッカーコンテナーの中にあります。 – tkausl

+0

返信いただきありがとうございます。私はUbuntuを初めて使っています。 コンテナをホストにマッピングする手助けはできますか? –

+1

これは、ドッカーの '-v'オプションで完了しました。 contailers '/ var/jenkins_home /'をホスト '/ var/jenkins_home /'にマッピングしたい場合、 '-v/var/jenkins_home /:/ var/jenkins_home /'が動作するはずです。 – tkausl

答えて

5

ジェンキンスを開始した後、あなたは、2つの選択肢があります。

docker run -p 8080:8080 -d -p 50000:50000 jenkins 

あなたは、コンテナの内側に行くことができ と初期管理者のpasswdをチェックする(-dオプションはバックグラウンドでコンテナを実行することです): チェック実行中のコンテナコンテナ

docker exec -it cc73eb6d6f75 bash 
内部

[[email protected] ~]# docker ps 
CONTAINER ID  IMAGE    COMMAND     CREATED    STATUS    PORTS            NAMES 
cc73eb6d6f75  jenkins    "/bin/tini -- /usr/lo" 32 seconds ago  Up 30 seconds  0.0.0.0:8080->8080/tcp, 0.0.0.0:50000->50000/tcp ecstatic_leakey 

ゴー

そしてADMINPASSWD

[email protected]:/$ cat /var/jenkins_home/secrets/initialAdminPassword 
1c8be33b31904cacb5xxx 

それとも、あなた自身の名前のドッキングウィンドウのボリューム作成の内容を確認します。このボリュームは/var/lib/docker/volumes/jenkins-volumeであなたのホスト上にある

[[email protected] ~]# docker volume create --name jenkins-volume 
jenkins-volume 

を。 あなたはジェンキンスを開始し、ボリュームとそれを接続することができます:

docker run -p 8080:8080 -d -p 50000:50000 -v jenkins-volume:/var/jenkins_home jenkins 

あなたのコンテナ内/var/jenkins_volumeからのすべてのデータがあなたの名前のボリュームの内部に実装されます。ホストパスは次のとおりです。/var/lib/docker/volumes/jenkins-volume/_data

だから私のホスト上で確認してください。

[[email protected] ~]# ls /var/lib/docker/volumes/jenkins-volume/_data 
config.xml    hudson.model.UpdateCenter.xml init.groovy.d        jobs    nodes   secret.key    updates  war 
copy_reference_file.log hudson.plugins.git.GitTool.xml jenkins.install.InstallUtil.lastExecVersion logs    plugins  secret.key.not-so-secret userContent workspace 
credentials.xml   identity.key.enc    jenkins.install.UpgradeWizard.state   nodeMonitors.xml queue.xml.bak secrets     users 
0

あなたはジェンキンスユーザー(UID 1000年に)そのディレクトリの所有権を与える必要がjenkins_homeとしてのホストディレクトリをマウントします。

JENKINS_HOME=/home/$(whoami)/jenkins_home mkdir $JENKINS_HOME chown -R 1000 $JENKINS_HOME

実行ジェンキンスコンテナ:

docker run -d --name jenkins \ -p 8080:8080 -p 50000:50000 \ -v /home/$(whoami)/jenkins_home:/var/jenkins_home \ jenkins

あなたはコンテナからジェンキンスCIを実行する方法の詳細ウォークスルーhereを見つけることができます。

関連する問題