Начиная с Docker 1.10 (и обновления libnetwork), мы можем вручную предоставить IP-адрес контейнеру внутри пользовательской сети, и это круто!
Я хочу предоставить контейнеру IP-адрес в моей локальной сети (например, мы можем работать с виртуальными машинами в режиме "моста" ). Моя локальная сеть - 192.168.1.0/24, все мои компьютеры имеют внутри нее IP-адреса. И я хочу, чтобы мои контейнеры имели IP-адреса в этом диапазоне, чтобы доставлять их из любой точки моей локальной сети (без NAT/PAT/etc...).
Я, очевидно, читаю Jessie Frazelle сообщение в блоге и много других сообщений здесь и везде, например:
- Как установить iPack доклерского контейнера?
- Как назначить конкретный IP-адрес контейнеру и сделать доступным за пределами хоста VM?
и многое другое, но ничего не вышло; мои контейнеры по-прежнему имеют IP-адреса "внутри" моего хоста докеров и недоступны для других компьютеров в моей локальной сети.
Чтение сообщения Джесси Фразель, я подумал (с тех пор, как она использует публичный IP-адрес), мы можем делать то, что я хочу делать?
Изменить: действительно, если я сделаю что-то вроде:
network create --subnet 192.168.1.0/24 --gateway 192.168.1.1 homenet
docker run --rm -it --net homenet --ip 192.168.1.100 nginx
Новый интерфейс на хосте docker (br- [a-z0-9] +) принимает IP-адрес "-gateway", который является моим IP-адресом маршрутизатора. И тот же IP на двух компьютерах в сети... BOOM
Спасибо заранее.