Я успешно настроил Docker -Desktop для Windows и установил свои первые linux контейнеры из dockerhub. Сетевые контейнеры могут связываться друг с другом во внутренней сети docker. Я даже могу общаться с хост-сетью через host.docker.internal
.
Теперь я перехожу к точке, где я хочу получить доступ к внешней сети (Просто какой-то другой сервер в сети хоста docker ) из контейнера docker.
Я читал на нескольких сайтах, что network_mode: host
не работает с docker рабочим столом для windows.
У меня нет настроил все коммутаторы в диспетчере Hyper-V и не добавил ни одного маршрута в docker, так как я путаюсь с общей сетевой концепцией docker -desktop для windows в сочетании с контейнерами Hyper-V и Linux.
Ниже вы можете увидеть мой текущий docker-compose.yaml
с установленными NiFi и Zookeeper. 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