2016-01-12 5 views
2

У меня возникли проблемы с правильной настройкой контейнера докеров с отказоустойчивостью ip.Docker Ip Failover

Я не очень хорошо разбираюсь в sysadmin, но я правильно настроил свой ip-переход, и я хотел бы связать его с контейнером для докеров.

Я не знаю, как это сделать, я не могу найти никаких ресурсов, которые объяснят это.

Когда я перехожу на свой основной ip (сервер Debian 195.xxx) из Интернета, я вижу, как он запускается (страница по умолчанию apache2), и когда я перехожу к переходу ip из сети, я вижу также страницу по умолчанию apache2) с моего сервера Debian, на данный момент я думаю, что все в порядке.

Так что, когда я бегу:

docker run -d --name ubuntu_01 -p 62.x.x.x:9000:80 abdev/ubuntu tail -f /dev/null 

в 62.xxx это мой IP отказоустойчивого, после этого я иду к внутрибрюшинно отказа от сети, но там снова моя страница по умолчанию (apache2 Debian, вместо Ubuntu, который является моим контейнером докера).

Что я неправильно понял? Любые ресурсы, подсказки или помощь приветствуются.

Извините за мой плохой английский, я старался изо всех сил.

+0

какой порт у вас был доступ к ip failover? http: //62.x.x.x: 9000 или ...? –

+0

Большое спасибо за ваш ответ, в этом случае я связываю 62.xxx:9000 (ip failover) на контейнере докера до порта 80. Я еще раз сказал, что я начинаю с sysadmin, а также с Docker :) Thank снова для времени. – eviltod666

+0

, так что вы получаете доступ к http: //62.x.x.x: 9000, все еще видели страницу Apache2 Debian, правильно? вы проверили с помощью команды: docker ps, чтобы показать весь запущенный контейнер? попытайтесь остановить apache2 на сервере Debian. –

ответ

2

Вот ваша сеть:

network diagram

Вы можете иметь только один докер хост сейчас, но смысл иметь IP отказоустойчивость, чтобы иметь возможность переключать трафик на другой хост без что позволяет пользователям изменять IP-адрес получателя.

Предположим, у вас есть 2 хоста докеров, которые идентичны, за исключением IP-адреса их основного сетевого интерфейса (eth0).

Вы хотите запустить контейнер докеров на обоих хостах, и вы хотите, чтобы веб-сервер apache, запущенный внутри ваших контейнеров, отвечал за 2 IP-адреса каждого хоста.

Докер-хост A, запустите контейнер для докеров с помощью docker run -p 9000:80 ....

Держатель докеров B, также запустите контейнер для докеров с docker run -p 9000:80 ....


Теперь, когда на вашем хостинг провайдер админку, вы назначаете IP отказоустойчивость 62.1.2.3 к хост А, вы сможете:

  • хоста запроса веб-сервера с http://62.1.2.3:9000/
  • запрос хозяин Веб-сервер с http://192.0.0.17:9000/
  • запрос хозяин B веб-сервер с http://192.0.0.47:9000/

Позже, когда на ваш хостинг-провайдер админку, вы назначаете IP отказоустойчивость 62.1.2.3 для хоста B, вы сможете:

  • хоста запрос B веб-сервер с http://62.1.2.3:9000/
  • запроса разместить веб-сервер с http://192.0.0.17:9000/
  • запроса веб-сервер хоста B с http://192.0.0.47:9000/

Важно, что вы также можете запросить ваш веб-сервера с 192.0.0.17 и 192.0.0.47 IP-адресов, по крайней мере, для тестирования веб-сервера и работает на обоих хостах, независимо от настройки IP отказоустойчивой.

+0

Чтобы лучше понять, я сделал схему litle. Как вы можете видеть мой главный сервер (195.145.x.x) является лишь шлюзом для моих контейнеров. Каждый контейнер имеет собственный IP-адрес, который является отказоустойчивым. Итак, когда вы запрашиваете (62.156.x.x) докер-контейнер 01, главный сервер с «мостом» или что-то в этом роде desserve http-запрос в хороший контейнер. Я думаю, что это возможно, но для практического случая я не уверен, что делать. Я не знаю, хороши ли они или нет. Как я уже сказал, я не системный администратор: < ** Моя схема ** => http://i64.tinypic.com/157ncep.png – eviltod666

+0

_IP Failover_ - неопределенный термин, который может означать разные вещи. Мне было бы лучше, если бы вы могли связать документацию для функции _IP failover_, которую предоставляет ваша хостинговая компания. – Thomasleveil

+0

Спасибо за ваш ответ, это документация о конфигурации IPFO [здесь] (https://documentation.online.net/fr/serveur-dedie/reseau/ip-failover/debian-ubuntu) – eviltod666

1

Большое спасибо @thomasleveil, что ответ действительно ответит на мой вопрос.

Я бы подумал, что это было бы более сложным, но окончательно я сделал это.

Для резюме, я имел установку мой IPFO что-то вроде этого:

source /etc/network/interfaces.d/* 

# The loopback network interface 
auto lo 
iface lo inet loopback 

# The primary network interface 
auto eth0 
iface eth0 inet static 
    address 195.x.x.x 
    netmask 255.255.255.0 
    gateway 195.x.x.x 

auto eth0:0 
    iface eth0:0 inet static 
    address 62.x.x.x 
    netmask 255.255.255.255 

Выполнить мой контейнер с:

$ docker run -it --name ubuntu_01 -p 9000:80 docker/box tail -f /dev/null 

я могу получить доступ к моей емкости из Интернета от основного IP сервера и IPFO ,

Я думаю, что это базовая конфигурация, но это работа!

Я хотел бы проголосовать за ваш ответ, но stackoverflow запретил голосование от нового участника.

Еще раз спасибо за ваше время :)

 Смежные вопросы

  • Нет связанных вопросов^_^