【问题标题】:Connect Linux Containers in Windows Docker Host to external network将 Windows Docker 主机中的 Linux 容器连接到外部网络
【发布时间】:2020-06-14 20:33:30
【问题描述】:

我已经成功地为 Windows 设置了 Docker-Desktop,并从 dockerhub 安装了我的第一个 linux 容器。网络容器可以在 docker 内部网络上相互通信。我什至可以通过host.docker.internal 与主机网络进行通信。

现在我要从 docker-container 中访问外部网络(只是 docker 主机网络上的其他服务器)。

我在多个网站上读到network_mode: host 似乎不适用于 Windows 的 docker desktop。

我没有在 Hyper-V 管理器中配置任何开关,也没有在 docker 中添加任何路由,因为我对 docker-desktop for windows 结合 Hyper-V 和 Linux 容器的整体网络概念感到困惑。

您可以在下面看到我当前安装了 NiFi 和 Zookeeper 的 docker-compose.yaml。 NiFi 能够看到 Zookeeper,并且 NiFi 能够从安装在 docker 主机上的数据库中查询数据。但是我需要从主机以外的其他服务器查询数据。

version: "3.4"
services:
  zookeeper:
    restart: always
    container_name: zookeeper
    ports: 
      - 2181:2181
    hostname: zookeeper
    image: 'bitnami/zookeeper:latest'
    environment:
      - ALLOW_ANONYMOUS_LOGIN=yes
  nifi:
    restart: always
    container_name: nifi
    image: 'apache/nifi:latest'
    volumes: 
      - D:\Docker\nifi:/data                          # Data directory
    ports:
      - 8080:8080                                     # Unsecured HTTP Web Port
    environment:
      - NIFI_WEB_HTTP_PORT=8080
      - NIFI_CLUSTER_IS_NODE=false
      - NIFI_CLUSTER_NODE_PROTOCOL_PORT=8082
      - NIFI_ZK_CONNECT_STRING=zookeeper:2181
      - NIFI_ELECTION_MAX_WAIT=1 min
    depends_on:
      - zookeeper

【问题讨论】:

    标签: linux docker networking docker-compose docker-desktop


    【解决方案1】:

    检查您是否将 dockerNAT 中的连接类型设置为适当的外部网络,并将 IPV4 配置设置为自动。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-06
      • 1970-01-01
      • 2023-01-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多