Введение в сеть в Docker
Сайт внутри контейнера с хоста не открыть, пока его порт не выведен наружу. Программа слушает порт внутри своей изолированной среды. Браузер на вашем компьютере этот внутренний порт сам не видит и к нему не подключается. Связь появляется только когда порт программы привязали к порту на компьютере.
Такой вывод порта называют
публикацией.
Слева оказывается номер,
который вы набираете в браузере.
Справа - номер, на котором
слушает программа внутри копии.
Без этой пары адрес
localhost:8080 просто
некуда направить запрос.
Рядом могут работать несколько
контейнеров с сайтами.
У каждого свой порт внутри,
часто один и тот же, например
80.
На компьютере для каждого сайта
нужен свой внешний порт,
иначе два сервиса не разделить.
Контейнеры также не видят друг друга по короткому имени, пока их не собрали в одну общую сеть. Сеть по умолчанию связывает копию с хостом, но имя соседа там не работает как адрес. Своя сеть объединяет выбранные контейнеры, и тогда имя соседа можно использовать вместо длинного числового адреса.
Сначала имеет смысл понять публикацию: без неё сайт с хоста не открыть. Затем - как несколько сервисов делят порты компьютера и чем отличается общая сеть от связи только с хостом. Так проще читать команды и не путать имя контейнера с адресом в браузере.