Предположим, моя машина называется workstation-mine.company.network с IP 10.11.12.13.
Я не могу разрешить его из любого контейнера Docker, Edge версии 2.0.3.0 (с Kubernetes в фоновом режиме), например:
docker run -it --rm busybox
ping workstation-mine.company.network
выдает сообщение "Неверный адрес", но
ping workstation-somebody-else.company.network
ping www.google.com
работают нормально, IP адрес разрешен. Я также могу пинговать свой IP 10.11.12.13, хотя время отклика значительно больше, чем у pinging host.docker.internal.
Используя nslookup, я могу преобразовать имена всех ближайших рабочих станций в сети компании в IP-адреса, кроме моего:
nslookup workstation-mine.company.network
** server can't find workstation-mine.company.network: NXDOMAIN
nslookup 10.11.12.13
** server can't find 13.12.11.10.in-addr.arpa: NXDOMAIN
Установка докера выполняется в довольно большом скрипте, который я просто использую, и использование `host.docker.internal 'нежелательно, потому что местом назначения для доступа также может быть другая машина.
Есть один обходной путь: присвоить моей машине собственное имя, например "my-host", и отредактировать его в файле Windows \ system32 \ drivers \ etc \ hosts. Потом ping my-host
из контейнера работает.
Кстати,
Не знаю, связано ли это, но я продолжаю получать ошибки DNS в журнале ProgramData \ DockerDesktop \ Service.txt:
[14:31:31.414 impression[ApiProxy] [Info] time = "2019-03-26T14: 31: 31 + 01: 00" msg = "неизвестный тип запроса DNS 13" [14: 31: 31.414] [ ApiProxy] [Info] time = "2019-03-26T14: 31: 31 + 01: 00" msg = "Ошибка DNS: 1160493135005290919.1659836570884043770. \ TIN \ t HINFO: неизвестный тип запроса"
а также
[15:40:08.358 impression[ApiProxy] [Info] time = "2019-03-26T15: 40: 08 + 01: 00" msg = "Ошибка DNS: docker-desktop. \ tIN \ t AAAA: errno 9002: DnsQuery: сбой DNS-сервера "
Первая ошибка DNS, похоже, связана с каким-то необычным, указанным как устаревшим типом строки HINFO с сервера имен, вторая - с IP v6 (AAAA означает IP v6).