Доступ - net -лиасный сервис из Docker контейнера - PullRequest
0 голосов
/ 24 февраля 2020

Я создал Docker сеть с

docker network create test

и создал пару сервисов с

--net test --net-alias somealias

, но мой интерфейсный контейнер, работающий в той же сети, не может найти адрес, просто попросив «somealias». Если я запускаю интерактивный Python3 переводчик и звоню

import urllib.request
urllib.request.urlopen("somealias").read()

, есть ValueError: unknown url type. Доступ к какому-либо адресу, например https://stackoverflow.com, работает нормально. Я пропускаю какой-то префикс? Я пробовал http и https, но тоже не сработал.

1 Ответ

0 голосов
/ 24 февраля 2020

Хорошо, я тупой. urllib.request.urlopen пытается открыть HTTP-соединение, но очевидно, что это не будет работать с DNS-именем. Чтобы получить IP-адрес, вы должны сделать

import socket
socket.gethostbyname("my-server")

, и это разрешит IP-адрес для вас.

...