Вопрос с подключением к контейнеру Docker на виртуализированном сервере Ubuntu

Как веб-дизайнер, я использовал VirtualBox для настройки временных рабочих серверов для своих проектов. В последнее время я пытался уменьшить количество виртуальных машин на своем ноутбуке (из-за ограничений емкости SSD), и я подумал, что изучение и использование Docker может быть полезным с точки зрения системного хранилища, развертывания готовой работы и защиты моих навыков в будущем. , До сих пор я использовал адаптер только для хоста в дополнение к NAT для подключения к серверу APM в моей виртуальной машине с моего хоста (который обычно является Windows).

Ниже приводится настройка / etc / network / interfaces, которую я обычно использую:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

# VBOX Host-only adapter
auto eth1
iface eth1 inet static
  network    192.168.56.0
  address    192.168.56.80
  netmask    255.255.255.0

Я думаю о псевдонимах IP для назначения большего количества IP-адресов адаптеру только для хоста (192.168.56.81, 192.168.56.82...) и маршрутизации каждого из них. из них в каждый из контейнеров, каждый из которых будет выполнять один из моих проектов. Похоже, что у Docker есть собственный сетевой интерфейс docker0, к которому нельзя получить доступ с хост-машины VirtualBox. Из того, что я могу сказать, у меня есть несколько возможных подходов:

  1. направить соединение от хоста к адаптеру только для хоста к интерфейсу docker0
  2. каким-то образом найти способ подключения к интерфейсу docker0 от хост-машины, или
  3. каким-то образом найти способ подключения контейнеров к интерфейсам только для хоста

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

1
задан 1 June 2015 в 10:11

1 ответ

По-моему, для Вашего использования, Вам не придется закопать безумие докера, объединяющегося в сеть.

я был бы совет Вы для использования отображения порта, когда Вы выполняете свой контейнер.

, Например, скажите, что Вы создали apache изображение в докере через Ваш Dockerfile. Когда Вы захотите выполнить этот контейнер, используйте -p опция отобразить порты:

sudo docker run -d -p=80:80 -p=443:443 -P apache:latest

Путем выполнения этого, локальный порт 80 будет отображен на порте 80 из этого контейнера.

Так, путем доступа http://127.0.0.1 в браузере Вы получите доступ к своему контейнеру.

, Если порт 80 уже используется локально, можно использовать, например, порт 8080: -p 8080:80 и затем доступ http://127.0.0.1:8080 .

, Если у Вас есть несколько проектов, можно использовать несколько портов или использовать virtualhosts в апачском контейнере и использовать псевдоним DNS в /etc/hosts из хостов.

0
ответ дан 1 June 2015 в 20:11
  • 1
    Похоже, что я переформатировал, прежде чем я взял этот снимок. I' ll берут его снова после новой установки и пересообщения. I' m не полностью уверенный, что I' m чтение, но это смотрит много как то, что я вижу в живом Gparted. Есть ли что-нибудь, что я должен искать здесь в особенности? – Csteele5 8 September 2016 в 16:44

Другие вопросы по тегам:

Похожие вопросы: