2017-09-02 142 views
0

我試圖用docker撰寫一個CD/CI構建環境。 我有一個jenkins容器,一個聲納容器和一個archiva容器。問題是,我的詹金斯無法連接到聲納和archiva。Docker-compose鏈接容器

我嘗試將多個容器鏈接在一起或在同一個網絡中加入它們,但仍然沒有成功。

在詹金斯,我得到以下錯誤:

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

是的,他們生活在不同的環境中,可以這麼說。爲了幫助你理解發生了什麼,在把它們全部放開後,進入jenkins容器('docker exit -it [CONTAINER_ID] bash'),然後'ping archiva'。你試圖連接到本地主機,這將無法正常工作。它可能會或可能不會工作,因爲你沒有把它連接到詹金斯容器,但你可以搞砸它。它看起來像你現在鏈接到sonarqube,所以我希望平能工作。 – burnettk

回答

1

從詹金斯引用您的sonarqube容器使用sonarqube:9000搬運工人將sonarqube翻譯您的服務名稱是容器的IP。

我還建議使用不同的網絡,而不是鏈接來連接你的容器。

+0

這工作,非常感謝:D –

+0

沒問題。請接受答案,以便其他用戶也可以參考。 – ssc327

0

這是因爲ping會去sonarqube。