2014-10-21 8 views
0

У меня есть демон докеров, установленный на машине UbuntuA.Клиент Docker, взаимодействующий с докером-хостом

Я использую машину UbuntuB в качестве клиента докера. Я знаю, что на машине UbuntuA установлен демон docker и также можно выполнять операции.

Но я не понимаю, на каком порту он работает. Я использую эту команду: Судо Docker -H TCP: //127.0.0.1: 5555 -d &

и после этого, когда я использую следующую команду: Судо докер -H Tcp: //127.0. 0.1: 5555 info

Я получаю сообщение об ошибке: docker daemon не найден. Как узнать, на каком порту запущен демон?

+0

Вы используете * UbuntuB * для связи с UbuntuA * с 127.0.0.1? – Behe

+0

№ из UbuntuB это будет: $ sudo docker -H tcp: UbuntuA: 5555 info – user1907849

ответ

3

Использование опции daecon docker -H tcp://127.0.0.1:5555 на машине UbuntuA поручает докеру привязываться к сетевому интерфейсу loopback (127.0.0.1). В результате он будет принимать только соединения, исходящие от машины UbuntuA.

Если вы хотите принимать входящие соединения с любого сетевого интерфейса, используйте -H tcp://0.0.0.0:5555. Имейте в виду, что любой, кто сможет подключиться к вашей машине UbuntuA на порту 5555, сможет контролировать ваш хост-докер. Вам необходимо защитить его правилами брандмауэра, чтобы разрешить только UbuntuB подключаться к UbuntuA на порту 5555.

+1

Вы можете установить конфигурацию по умолчанию для этого в/etc/default/docker –

+0

Вы также можете использовать запуск '--net = host' чтобы контейнер имел полный доступ к сетевым интерфейсам хоста. Но у этого есть также некоторые побочные эффекты, которые вы, возможно, не захотите. Подробнее здесь: [Docker Networking] (https://docs.docker.com/articles/networking/) – schemar

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