簡體   English   中英

如何使用docker-compose v2加入默認網橋?

[英]How to join the default bridge network with docker-compose v2?

我嘗試設置一個nginx-proxy容器,通過端口80上的子域而不是特殊端口訪問我的其他容器。 你可以猜到,我無法讓它發揮作用。

我對docker本身有點新意,發現編寫docker-compose.yml文件對我來說更舒服,所以我不必經常寫長docker run ...命令。 我認為使用dockerdocker-compose啟動容器的方式沒有區別。 但是,我注意到的一個區別是,使用docker啟動容器不會創建任何新網絡,但是使用xxx_default docker-compose會有一個xxx_default網絡。

我讀到不同網絡上的容器無法互相訪​​問,這可能是nginx-proxy沒有將請求轉發給其他容器的原因。 但是,我無法找到一種方法來配置我docker-compose.yml文件以不創建任何新網絡,而是加入默認的橋接網絡,如docker run does。

我嘗試了下面這個,但是它導致了一個錯誤,說我無法加入這樣的系統網絡:

networks:
  default:
    external:
      name: bridge

我也嘗試過network_mode: bridge ,但這似乎沒有任何區別。

如何編寫docker-compose.yml文件以不創建新網絡,或者根本不可能?

獎金問題:我應該知道dockerdocker-compose之間是否還有其他差異?

network_mode: bridge添加到docker-compose.yml每個服務將停止創建網絡。

如果未使用此網橋(或主機)配置任何服務,則將創建網絡。

經測試並確認:

version: "2.1"

services:
  app:
    image: ubuntu:latest
    network_mode: bridge

暫無
暫無

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

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