2017-07-19 98 views
1

我有一個在通過標準「docker run ...」命令啓動的主機上運行的docker容器。運行的網絡是默認名稱「directory_default」,其中「directory」是當前目錄的名稱。從通過組合啓動的容器訪問正在運行的容器

我還得到了一個docker compose文件(在同一個主機上),它包含需要訪問已經運行的容器的另一個容器定義。但是,在運行組合文件時,我不斷看到一個錯誤,指出無法訪問網絡。

閱讀Cannot link to a running container started by docker-compose似乎指向一個類似的問題,但相反的方式(連接到運行容器通過撰寫推出)。

我已經嘗試在撰寫中設置env變量並使用--project-name標誌來設置網絡,但沒有運氣。

docker network ls 

但在運行時:

docker-compose up -d 

然後給出了錯誤:

我跑的時候也使用撰寫文件的「網絡」部分定義的網絡名字,我看到試過
ERROR: Service "my_service" uses an undefined network "my_already_existing_network that you see from docker network ls" 

這裏是正在使用的輸出/文件(目錄中的「測試」運行):

docker network ls 
NETWORK ID   NAME     DRIVER    SCOPE 
fc4c3de62436  bridge    bridge    local 
db6b28f177d0  test_default   bridge    local 
5db4787312e5  host     host    local 
64dfb53be850  none     null    local 

第一個容器是通過「docker run ...」啓動的,如前面從「test」目錄中所述。撰寫文件如下:如在撰寫文檔描述

--project-name test_default 

version: "3" 
services: 

test_container1: 
    networks: 
     - test_default 
    image: mytest 
    container_name: mytest 
    restart: on-failure 
    ports: 
     - "8003:8003" 

我還試圖除去「網絡」部分上方和調用與搬運工-組成。我沒有使用羣模式。

+0

你請可以添加撰寫文件,網絡細節(驅動器)。你使用羣模式? – Sreeni

+0

向OP添加了詳細信息 – bzo

回答

0

試試這個泊塢窗 - 撰寫:(你需要指定網絡已經存在)

version: "3" 
services: 

    test_container1: 
     networks: 
      - test_default 
     image: mytest 
     container_name: mytest 
     restart: on-failure 
     ports: 
      - "8003:8003" 

networks: 
    test_default: 
    external: true 
相關問題