我有一個在通過標準「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"
我還試圖除去「網絡」部分上方和調用與搬運工-組成。我沒有使用羣模式。
你請可以添加撰寫文件,網絡細節(驅動器)。你使用羣模式? – Sreeni
向OP添加了詳細信息 – bzo