2017-09-02 22 views
0

dockerを使用してCD/CIビルド環境をセットアップしようとしています。 私はジェンキンのコンテナ、ソナーのコンテナ、アーキーバのコンテナを持っています。問題は、私のジェンキンがソナーとアーキーバに接続できないことです。Docker-compose linking containers

複数のコンテナをリンクしたり、同じネットワークに参加させようとしましたが、それでも成功しませんでした。ジェンキンスで

、私は次のエラーを取得する:

Caused by: org.apache.http.conn.HttpHostConnectException: Connect to localhost:8081 [localhost/127.0.0.1] failed: Connection refused (Connection refused) 

これは私のドッキングウィンドウ・コンファイルです。

version: '2' 

volumes: 
    data-jenkins: 
    driver: 'local' 
    data-postgres: 
    driver: 'local' 
    data-sonarqube-conf: 
    driver: 'local' 
    data-sonarqube-data: 
    driver: 'local' 
    data-archiva: 
    driver: 'local' 

services: 
    jenkins: 
    image: 'jenkins' 
    ports: 
     - '8080:8080' 
    restart: 'always' 
    volumes: 
     - 'data-jenkins:/var/jenkins_home' 
    links: 
     - 'sonarqube:sonarqube' 
    postgres: 
    image: 'postgres:9.6.1' 
    environment: 
     - 'POSTGRES_USER=postgres' 
     - 'POSTGRES_PASSWORD=postgres' 
    ports: 
     - '5432:5432' 
    restart: 'always' 
    volumes: 
     - 'data-postgres:/var/lib/postgresql/data' 
    sonarqube: 
    image: 'sonarqube' 
    depends_on: 
     - 'postgres' 
    ports: 
     - '9000:9000' 
    links: 
     - 'postgres:postgres' 
    environment: 
     - 'SONARQUBE_JDBC_URL=jdbc:postgresql://postgres:5432/' 
     - 'SONARQUBE_JDBC_USERNAME=postgres' 
     - 'SONARQUBE_JDBC_PASSWORD=postgres' 
    volumes: 
     - 'data-sonarqube-data:/var/lib/sonarqube/data' 
     - 'data-sonarqube-conf:/var/lib/sonarqube/conf' 
    archiva: 
    image: 'xetusoss/archiva' 
    ports: 
     - '8081:8080' 
    volumes: 
     - 'data-archiva:/var/archiva' 
    environment: 
     - 'SSL_ENABLED=false' 

ジェンキンスのコンテナは、別々の環境にあるようです。誰も私はどのように一緒にすべての環境に参加できますか?この問題は今一週間ほど苦労しています。

+0

はい、彼らは言い換えれば、異なる環境に住んでいます。何が起きているのかを理解するのを助けるために、ジェンキンスのコンテナ( 'docker exit -it [CONTAINER_ID] bash')をすべて起動してから' ping archiva'を実行してください。 localhostに接続しようとしていましたが、これは動作しません。 'ping archiva'(jenkinsコンテナにリンクしていないので)で動作するかもしれないし、動作しないかもしれませんが、混乱する可能性があります。あなたが現在sonarqubeにリンクしているように見えるので、pingが動作することを期待しています。 – burnettk

答えて

1

あなたのsonarqubeコンテナをJenkinsから参照するには、sonarqube:9000ドッカーがサービス名sonarqubeをそのコンテナのipに変換します。

また、リンクではなく異なるネットワークを使用してコンテナを接続することをおすすめします。

+0

これは、ありがとうたくさん働いた:D –

+0

問題はありません。他のユーザーも参照できるように答えを受け入れてください。 – ssc327

0

これは、pingがsonarqubeに行くためです。

関連する問題