Как часть «Как получить доступ к службе контейнеров докеров из внешнего мира, например, с родительской хост-машины Windows»
Я выполнил следующий шаг:
1) На машине Windows (10.204.255./16) я создал бродячую виртуальную машину (172.17.0./24). Внутри бродячей виртуальной машины я создал разные образы докеров в соответствии со своими требованиями.
2) В рамках создания образа докера создайте образы 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
Я считаю, что это обычный вариант использования докера: установленная служба в докеризованном контейнере доступна с хост-компьютера, если мы попытаемся получить доступ с помощью ip:port
Поведение ACE-TAO похоже на то, что rpm установлен на конкретный хост, поэтому мы можем получить доступ к службе corba по этому URL-адресу: corba://(tao_service_runnig_ip):(прослушивающий порт). Чтобы выполнить это требование, мне нужно получить доступ к хост-машине.
docker run
? Предполагая, что вы опубликовали порт с помощью-p 13021:13021
, вы сможете получить к нему доступ сlocalhost:13021
в виртуальной машине. Это первое, что нужно проверить. - person Elton Stoneman   schedule 24.10.2016