Ответ 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 не может быть по умолчанию, в этом случае соответствующим образом измените имя.