2017-05-17 4 views
0

dockerの作成ファイルを使用してjenkinsとnexusの統合を作成しようとしています。私のジーンキンでは、Dockerfileと/ var/lib/jenkins /の下に作成されたボリュームを使用していくつかのプラグインで更新されました。コンファイル内jockkinsのファイルがDockerのファイルをコピーしていないため、Dockerのボリュームが空です。

VOLUMEの[ "の/ var/libに/ジェンキンス/"]

は、ローカルストアは/ opt /ジェンキンス/

jenkins: 
    build: ./jenkins 
    ports: 
    - 9090:8080 
    volumes:  
    - /opt/jenkins/:/var/lib/jenkins/ 

に私のボリュームをマッピングしようとしていますが、何もコピーされていません私の永続性ディレクトリ(/ opt/jenkins /)に移動します。

私はすべてのジェンキンズの仕事の中で、_data/jobs /ディレクトリの下に作成された仕事をいくつかのボリュームで見ることができます。/var/lib/jenkins/

私のボリュームには定義されていません。なぜこれが起こっているのですか? documentationから

答えて

0

:コンテナが作成されたときに

ボリュームが初期化されます。コンテナのベースイメージに指定されたマウントポイントのデータが含まれている場合、ボリュームの初期化時に既存のデータが新しいボリュームにコピーされます。 (ホストディレクトリをマウントするときに、これが適用されないこと。)

とデータボリュームとしてホストディレクトリをマウント中:/ webappの

このコマンドは、ホストディレクトリをマウントし、/ SRC/webappのコンテナに入れます。パス/ webappがコンテナのイメージ内にすでに存在する場合、/ src/webappマウントはオーバーレイされますが、既存のコンテンツは削除されません。マウントが解除されると、コンテンツに再びアクセスできます。これは、mountコマンドの予想される動作と一致しています。

したがって、var/lib/jenkinsにあったものは、基本的にオーバーレイされています(隠れています)。あなたのイメージは、それらのものが隠されている場合は機能できますか?

関連する問題