2016-02-24 3 views
1

У меня есть контейнер с мезосом, контейнер имеет отображение порта 0.0.0.0:32772->5050/tcp. Если я запустил docker exec CONTAINER_ID "curl 0.0.0.0:5050, я могу видеть то, что хочу. Однако я не могу получить доступ к HOST_IP:32772. Я попытался запустить nginx в одном контейнере, и я могу подключиться к серверу nginx на хосте, так что я думаю, что это проблема конфигурации mesos? Как я могу это исправить?Докер не может выставить мезопорт 5050

+0

Вы на Linux напрямую, или с помощью boot2docker? – VonC

+0

Вы должны сообщить нам свои настройки 'docker run ...' ... – Tobi

+0

@VonC Я запускаю его на Linux. Проблема в том, что я использую переадресацию портов. Спасибо Тоби за то, что я должен использовать хост-режим! –

ответ

2

Если я правильно понимаю, вы используете своего мастера (ов) Мезоса из контейнера Docker. Вы должны использовать сетевую сеть вместо моста.

settings работа, по крайней мере для меня:

docker run \ 
    --name=mesos_master \ 
    --net=host \ 
    -e MESOS_IP={YOUR_HOST_IP} \ 
    -e MESOS_HOSTNAME={YOUR_HOST_IP} \ 
    -e MESOS_CLUSTER=mesos-cluster \ 
    -e MESOS_ZK=zk://{YOUR_ZK_SERVERS}/mesos \ 
    -e MESOS_LOG_DIR=/var/log/mesos/master \ 
    -e MESOS_WORK_DIR=/var/lib/mesos/master \ 
    -e MESOS_QUORUM=2 \ 
    mesosphere/mesos-master:0.27.1-2.0.226.ubuntu1404 
+0

Спасибо! Если я запустил его в режиме хоста, он будет работать. –

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