簡體   English   中英

docker compose network_mode:“主機”不工作

[英]docker compose network_mode: "host" not working

我的 dockerized 應用程序需要訪問本地主機網絡上的某些內容,如果沒有network_mode: "host"這是不可能的

version: '3.4'
services:
  app:
    network_mode: "host"
    image: node:latest
    volumes:
      - .:/usr/app
      - node_modules:/usr/app/node_modules
    working_dir: /usr/app
    ports:
      - 3000:3000

volumes: 
  node_modules:

如果我注釋掉network_mode: "host"我的應用程序可以在http://localhost:3000上完美運行。 如果我重新添加它,它仍然可以運行,但不再可以在http://localhost:3000上訪問。

編輯:我剛剛在 Ubuntu 上測試了一個 hello world,它可以工作,但在 mac 上不行,mac 似乎不能與network_mode: "host"一起工作

是的,在撰寫本文時, mac肯定存在問題,問題是mac中的 docker 使用容器所在的 linux 虛擬機,因此當您使用network_mode: "host"時,它僅對 VM 的網絡有效,不適用於您的 Mac:( 更多信息請點擊此處

作為替代方案,不要使用network_mode: "host" ,而是將其保留在 bridge (默認)中,然后將您的服務配置為使用host.docker.internal:xxxx而不是到達localhost: xxxx

暫無
暫無

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

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