Как получить доступ к контейнерной службе docker из внешнего мира, например, с родительского хост-компьютера Windows

#windows #docker #vagrant #docker-networking

#Windows #docker #бродяга #docker-сеть

Вопрос:

В рамках «Как получить доступ к контейнерной службе docker из внешнего мира, например, с родительского хост-компьютера Windows»

Я выполнил следующий шаг :

1) На компьютере с Windows (10.204.255./ 16) я создал виртуальную машину vagrant (172.17.0./ 24) . Внутри vagrant VM я создал разные образы docker на основе своих требований.

2) В рамках создания образа docker создал образы centos: 6.6 и запустил внутри них установленную службу ACE-TAO.

3) Служба TAO работает должным образом и привязана к конкретному контейнеру ip: конкретный порт (например, 172.17.0.10: 13021)

Ссылка: Возможность создавать образы и запускать образы для создания контейнера и успешной установки TAO rpm и службы TAO. Проблемы в том, что я не могу пропинговать этот IP-адрес из внешнего мира, например, с моего компьютера с Windows

Я прикрепляю свой файл dockerfile здесь

 FROM centos:6.6

MAINTAINER praveen 

WORKDIR /root/

ADD TAO-1.7.7-0.x86_64.rpm /root/TAO-1.7.7-0.x86_64.rpm

RUN rpm -ivh  TAO-1.7.7-0.x86_64.rpm

CMD ["/etc/init.d/tao", "start"]

EXPOSE 13021
  

Я считаю, что это обычное использование docker похоже :
Установленная служба в докеризованном контейнере с доступна с хост-компьютера, если мы попытаемся получить доступ с ip: port

Поведение ACE-TAO похоже на то, что rpm установлен на определенном хосте, поэтому мы можем получить доступ к службе corba по этому URL: corba://(tao_service_runnig_ip): (порт прослушивания) Чтобы выполнить это требование, мне нужно получить доступ с хост-компьютера

Комментарии:

1. Я могу выполнить пинг IP-адреса хоста в докеризованном контейнере, но обратного не происходит

2. Хост Docker здесь — это ваша виртуальная машина. Можете ли вы опубликовать свою docker run команду? Предполагая, что вы опубликовали порт с помощью -p 13021:13021 , вы должны иметь возможность получить к нему доступ из localhost:13021 виртуальной машины. Это первое, что нужно проверить.

3. На компьютере с Windows установлена виртуальная машина Ubuntu, и, кроме того, я создал образ docker. Итак, мой хост — это компьютер с Windows.

4. В Ubuntu я могу пинговать этот IP-адрес docker-контейнера. Обычно я запускаю службу daemon TAO в контейнере docker. и я хочу использовать эту службу на компьютере с Windows, таком как corba: docker-ip: port

5. Я использую эти команды docker build —rm -t tao/ centos6.6:basic . docker run -it -p 13021:13021 tao / centos6.6:basic