Подключите Linux Контейнеры в Windows Docker Хост к внешней сети - PullRequest
0 голосов
/ 02 марта 2020

Я успешно настроил 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

1 Ответ

0 голосов
/ 04 марта 2020

Проверьте, установлен ли тип подключения в dockerNAT для соответствующей внешней сети, и установите для конфигурации IPV4 значение auto.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...