簡體   English   中英

docker容器無法連接到其他網絡中的其他容器

[英]docker container can't connect to other container in different network

我在服務器上運行了2個不同的容器(應用程序和web_server)。 它們位於同一網絡中,因為我將它們置於同一網絡中,並且該網絡的驅動程序是橋接器。

networks:
  app-network:
    driver: bridge

現在,我有第三個容器,它需要連接我提到的兩個容器之一。 我嘗試將第3個容器連接到第1個容器,如下所示:app:9000,但顯示未找到主機。 我猜這是因為它們位於不同的網絡中。 我應該怎么做才能使其正常工作?

您需要兩個容器都加入同一個網絡。 通過創建一個新網絡然后加入該網絡,或者其中一個加入另一個容器的網絡。

docker-compose.yml,其中有container1container2

  • 定義一個屬於container3的外部網絡
  • 如第一個代碼片段所示,將這兩個容器之一添加到外部網絡中

您擁有container3的docker-compose.yml將是具有橋接網絡的普通docker-compose。

您需要確保首先啟動第三個容器,以便首先創建第三個網絡,也可以使用docker cli手動創建第三個網絡,並將定義更改為external

#docker-compose.yml

container1:
  networks:
    - first_network
    - second_network

networks:
  first_network:
    driver: bridge
  second_network:
    external: true
#docker-compose.yml
container3:
  networks:
    - second_network

networks:
  second_network:
    driver: bridge

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM