2016-05-09 27 views
0

私は次のガイドhttps://hub.docker.com/r/iliyan/jenkins-ci-php/に従って、ジェンキンスとドッカーの画像をダウンロードしました。コンテナを再起動すると、ドッカーの中のジェンキンスが失われる

docker start CONTAINERNAMEコマンドを使用してコンテナを起動すると、localhost:8080からJenkinsにアクセスできます。

問題は、私はジェンキンスの設定を変更し、docker stop CONTAINERNAMEdocker start CONTAINERNAMEを使用してジェンキンスを再起動したときに、私のジェンキンスさんは私の以前の構成変更のいずれかが含まれていませんアップします。..

どのように私はジェンキンスの設定を保持することができますか?

答えて

1

Jenkinsの設定をボリュームとしてマウントする必要があります。-vフラグは、あなたのためだけに実行されます。

docker run --privileged --name='jenkins' -d -p 6999:8080 -p 50000:50000 -v /home/jan/jenkins:/var/jenkins_home jenkins:latest 

を(あなたはジェンキンスのドッキングウィンドウの画像内のドッキングウィンドウの画像を構築することを計画しない限り、あなたは私の例では--privilegedフラグを無視することができます)-vフラグが再構築の間、それを維持/home/jan/jenkinsであなたの容器の外にあなたの/var/jenkins_homeをマウントします。

--nameのように、コンテナが開始/停止する固定名を持つようにします。

は、その後、あなたがそれを実行したい次回は、単に[OK]を

docker start jenkins 
+0

を呼び出して、私はそれを得ました。しかし、私は自分のsshキーでこれをしませんでした。どのようにdockerfileで指定しますか:このフォルダを無視しますか?または...なぜjenkinsフォルダは無視されますか?私の鍵はなぜ存在しないのですか?それはどこに指定されていますか? – Wildchild

+0

コンテナに行った変更は、再構築するか、新しいsshキーとjenkinsの設定を含む新しいものをビルドするまで、そこに残ります。再構築の間に生き残るためには、それらのディレクトリをコンテナの外にマウントする必要があります。あなたのjenkinsの設定が再起動の間に消えたら、私はあなたのセットアップ(例えば、あなたのユーザがディレクトリへの書き込みアクセス権を持っているかどうかなど)に関するより多くの情報を必要とします。マウントした後もまだ消えていて、マウントされたディレクトリにそれが見える場合は、起動時に何かが明らかに削除されています。 –

関連する問題