2017-03-22 10 views
7

私はジェンキンをgithub上でコンテナとプロジェクトのソースコード内で実行しています。ゲンキンドッカーコンテナでドッカーボリュームをマウントするにはどうすればいいですか?

私はjenkinsと同じホスト上のコンテナでプロジェクトを実行する必要がありますが、docker-in-dockerではなく、兄弟コンテナとして実行したいと考えています。

は私のパイプラインは次のようになります。

私は今ドッキングウィンドウを使用しているかどうプロジェクトコンテナに実行し、プロジェクトのイメージをビルドgithubの

  • からソースを引きますjenkinsコンテナからのホストのソケット:

    /var/run/docker.sock:/var/run/docker.sock 
    
    コンテナ投影するの/ var/jenkins_home /ワークスペース/ BRANCH_NAMEからジェンキンスコンテナがソースコードを使ってボリュームをマウントするとき

    私は問題を抱えている:

    volumes: 
    - ./servers/identity/app:/srv/app 
    

    iは、プロジェクトの容器に「/ srvの/アプリの」空のフォルダを取得していますが

    ドッカーがjenkinsコンテナからではなくホストからマウントしようとしています。

    質問:私はどのように私がボリュームをマウントするコンテナを明示的に設定できますか?

  • +0

    この問題を解決しましたか?私は似たようなものに走っています。 –

    答えて

    1

    試し:コンテナIDを使用して、からモンのデータのためにするコンテナのIDです

    docker run -d --volumes-from <ContainerID> <YourImage> 
    

    またにより、ボリュームを作成することができます

    docker volume create <volname> 
    

    とホスト間の靴下を共有両容器

    volumes: 
    - <volname>:/srv/app 
    
    1

    にそれを割り当てて、ジェンキンスさんは、私の問題だったので、「は/ var/jenkins_home」 Jenkinsコンテナのボリュームである可能性が最も高いです。

    私の解決策は、靴下を共有することなくシステムドコンテナ内にドッカーを取り付けることでした。

    docker run -d --name jenkins \ 
        --restart=unless-stopped \ 
        --privileged \ 
        -v /sys/fs/cgroup:/sys/fs/cgroup:ro \ 
        -v jenkins-vol:/var/lib/jenkins \ 
        --tmpfs /run \ 
        --tmpfs /run/lock \ 
        ubuntu:16.04 /sbin/init 
    

    次に、Jenkins、Docker、Docker Composeをインストールします。

    関連する問題