
Я начинаю с Docker, просто пытаюсь запустить Docker-контейнер с веб-приложением и увидеть его в нашей локальной сети.
Я установил свежую Ubuntu 14 LTS в VirtualBox без каких-либо дополнительных служб (ни GUI, ни LAMP, ни OpenSSH...), а затем установил только Docker:
curl -sSL https://get.docker.com/ | sh
и я запустил контейнер Odoo (OpenERP) (ранее запускал контейнер postgree)
docker run -d -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo --name db postgres
docker run -p 127.0.0.1:8069:8069 --name odoo --link db:db -t odoo
Очень просто. Похоже, работает. Браузер не установлен, но я подключился через telnet к 127.0.0.1:8069 и отправил GET-запрос. Он ответил.
Теперь мне нужно получить доступ к сервису извне. Как?
Сетевой интерфейс VirtualBox настроен как мост.
Я установил фиксированный IP (192.168.0.150) в интерфейсе Ubuntu eth0.
UFW отключен
Я могу пропинговать 192.168.0.150 с других компьютеров, и Ubuntu отвечает.
Но браузер ничего не обнаруживает по адресу 192.168.0.150:8069
Невозможно подключиться через telnet к 192.168.0.150:8069
Я полагаю, что это какая-то конфигурация перенаправления портов или сопоставления интерфейсов. Не могли бы вы мне помочь, пожалуйста? :)
решение1
Наконец я нашел ответ. Проблема была в назначении порта. Если вы установите:
-p 127.0.0.1:8069:8069
вы выставляете ТОЛЬКО localhost. Это отличный вариант безопасности, если вам нужна только локальная служба, и вы хотите получить к ней доступ только с сервера. Но если вы хотите выставить порт для ВСЕХ интерфейсов, просто введите:
-p 8069:8069
Затем вы сможете получить доступ к сервису через сеть через интерфейс eth0 :)