1. В чем разница между --name
и --hostname
в команде docker run
?
2. Почему foo
не может достичь bar
своим hostname
= barhost
?
создать сеть и два подключенных к ней контейнера:
docker network create test
docker run --rm -dit --name bar --network test --hostname barhost alpine:latest
docker run --rm -it --name foo --network test --hostname foohost alpine:latest
пинг barhost
с foo
терминала
ping -c2 barhost
дает результат:
неверный адрес 'barhost'
но пинг bar
от foo
ping -c2 bar
успешно:
Панель PING (172.31.0.2): 56 байтов данных 64 байта из 172.31.0.2: seq = 0 ttl = 64 time = 0,260 мс 64 байта из 172.31.0.2: seq = 1 ttl = 64 time = 0,155 мс
--- запретить статистику ping --- 2 пакета передано, 2 пакета получено, потеря пакетов 0%
3.Если вы не можете связаться с bar
с помощью hostname
из foo
, почему это можно сделать из bar
?
# assuming you've created network test from point 2.
docker run --rm -it --name bar --network test --hostname barhost alpine:latest
ping barhost
с терминала bar
ping -c2 barhost
успешно:
PING barhost (172.31.0.2): 56 байтов данных 64 байта из 172.31.0.2: seq = 0 ttl = 64 time = 0,135 мс 64 байта из 172.31.0.2: seq = 1 ttl = 64 time = 0,127 мс
--- статистика пинга barhost --- 2 пакета передано, 2 пакета получено, потеря пакетов 0%