Как перенаправить порт докерной машины на мой хост-порт в OSX?

Im, предоставляя в моей компании частный контейнер докеров и хочу, чтобы мои коллеги имели доступ к нашей внутренней сети, проблема в том, что моя гостевая ОС - OSX, и поэтому я могу получить доступ только к моему приложению с использованием 192.168.99.100: 3000 по умолчанию с докерной машины.

Как перенаправить порт док-машины 3000 на порт моего хоста 80?

Ответы

Ответ 1

В настоящее время Docker Machine является виртуальной машиной, работающей под управлением VirtualBox на вашем компьютере, поэтому для раскрытия вашего порта приложения вам необходимо сопоставить свой порт виртуальной машины с вашим хост-портом.

Для этого есть два варианта, но перед тем как убедиться, что ваша машина Docker остановлена:

docker-machine stop default     # see PS below if docker machine isn't default

Вариант 1 - Используйте интерфейс VirtualBox

  • Открыть VirtualBox Manager
  • Выберите образ Docker Machine VirtualBox (например: по умолчанию)
  • Открыть настройки → Сеть → Дополнительно → Вперед вперед
  • Добавьте имя вашего приложения, нужный хост-порт (например, 80) и ваш гостевой порт (например: 3000).

Вариант 2 - используйте командную строку VirtualBox

Просто выполните следующую команду со своими собственными параметрами:

VBoxManage modifyvm "dev" --natpf1 "myapp,tcp,,80,,3000"

Заключительные соображения

Теперь вы можете запустить свою машину Docker Machine:

docker-machine start default
eval $(docker-machine env default)

Затем просто запустите приложение Docker container и протестируйте его на http://localhost/.

P.S.: Ваше имя Docker Machine не может быть по умолчанию, в этом случае соответствующим образом измените имя.