#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