【发布时间】: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