LXC и Docker очень похожи. Когда LXC установлен, выбирается случайная подсеть для настройки IP-адресов моста и подключенных к нему контейнеров. При использовании Docker подсетью по умолчанию является 172.17.0.0/16
, которую можно настроить при необходимости. Каждому контейнеру (если не используется хост-сеть или сеть другого контейнера) с помощью команды docker run
назначается IP-адрес из вышеуказанной подсети.
docker ps
перечисляет все запущенные контейнеры, но, к сожалению, не показывает IP-адреса.
Похоже, небольшая уловка может показать IP-адреса: (на основе этой записи )
docker ps -q | xargs docker inspect --format '{{ .Id }} - {{ .Name }} - {{ .NetworkSettings.IPAddress }}'
Также вы можете открыть порты, используя опцию -p
команды docker run.
Пример:
docker run -itd -p 8080:80 nginx
Это запускает контейнер на док-мосте, а также предоставляет nginx в сети хоста через порт 8080.
from_host_running_container# curl http://172.17.x.y
from_not_the_host_running_container # curl http://${HOST_IP}:8080