2014-12-17 1 views
0

Я пытался назначить один из моих пяти публичных ip в мой контейнер докеров. Похоже, это должно быть возможно из-за природы докера и его использования. Я нашел этот сайт, который я думаю, что объясняет то, что я хочу сделать, но это больше не работает, так как Docker отошло от LXC:Можно ли назначить статический публичный ip для контейнера Docker?

http://programster.blogspot.com/2014/06/docker-run-multiple-docker-websites-on.html

Я попытался сделать статическое NAT соединения с IP, что мой контейнер с помощью но это не сработало. IP-адрес докеры не отображается на моей странице маршрутизаторов, а только IP-адрес хост-компьютеров.

Мои вопросы:

Можно ли назначить статический публичный IP в Докер контейнер, и если да, то каким образом?

и

Можно ли сделать докер IP появится в моей странице конфигурации маршрутизатора, и если да, то каким образом?

Спасибо.

ответ

0

Возможное решение, но я не могу проверить его прямо сейчас. Пожалуйста, дайте мне знать, если это неверно.

Сделать виртуальный сетевой интерфейс с macvlan:

См https://superuser.com/questions/175475/ip-address-alias-assigned-by-dhcp

команды:

IP ссылку добавить DEV macvlan0 ссылку типа eth0 macvlan # macvlan0 быть название V-карты (lol)

Подключить контейнер к интерфейсу виртуальной сети с трубопроводом:

см https://github.com/jpetazzo/pipework/#connect-a-container-to-a-local-physical-interface

команды:

шунт macvlan0 $ ($ containerid) DHCP

+0

Кажется дополнительной работы, чтобы заставить его «показать» на странице маршрутизатора. Если он пингует и отвечает на IP-адрес - кому это нужно, если он отображается на странице аренды DHCP? – user2105103

+0

Мне нужно статизировать Nat несколько моих контейнеров для публичного IP. IP, который был назначен одному из моих контейнеров, похоже, не работает со статическим Nat, поэтому я думаю, что это может быть хорошим решением. Если существует более простой способ, пожалуйста, дайте мне знать! :) – domsl

0

Единственный способ, которым я знаю, что контейнер-докер использует статический ip, использует pipework.

Предполагая, что вы имеете в виду получение аренды DHCP и показ на странице вашего маршрутизатора - ничего не приходит в голову с докером. Я не думаю, что это «путь докеров». Это довольно просто с nspawn, если вы используете дистрибутив systemd, FWIW.

1

Docker 1,10 позволит вам указать статический IP-адрес для контейнера для каждой сети он подключен ,

(Обратите внимание, что для обеспечения обратной совместимости, эта функция поддерживается только для пользовательских сетей, и только если подсеть указано)

Например,

docker network create -d bridge --subnet 172.25.0.0/16 mynet 

docker run -d --net=mynet --ip=172.25.3.3 nginx 

Для получения дополнительной информации см documentation pull request