2017-02-08 13 views
2

У меня есть удаленная машина. Я вхожу в него в два этапа:Конфигурирование докеров для связи по сети

1) ssh -A [email protected] 

Тогда внутри этой машины я вхожу в мою удаленную машину:

2)ssh -A mymachine 

Этот удаленный компьютер не имеет публичного IP, который я могу указать в DOCKER_HOST=xx.xx.xx.xx.

Как настроить мой докер таким образом, чтобы у моего ноутбука был docker client, и у этой удаленной машины было бы dockerserver daemon?

+0

Итак, первая машина (server.com) общедоступна, и это где вы хотите запустить клиент-докер? Или вы пытаетесь подключиться с локальной машины через удаленную (серверную) машину к серверу докеров-серверов частного сервера? Просто нужна дополнительная информация, чтобы помочь вам – Dockstar

+0

@Dockstar Да, второй вариант - это моя проблема! –

ответ

1

API-интерфейс клиент-сервер-докер требует доступного API. Так же, как вы не можете запустить веб-сервер на mymachine и получить доступ к нему с помощью веб-браузера на своем ноутбуке, вы не можете настроить DOCKER_HOST без IP-адреса, который вы можете достичь.

Ваши варианты, которые я могу думать о том, включают:

  • Запустите команды удаленно, либо на MyMachine или server.com.
  • Настройка VPN, которая дает вашему ноутбуку IP-адрес, который может достичь mymachine
  • Используйте пересылку порта ssh, чтобы создать туннель, на который вы можете указать свой DOCKER_HOST. например ssh -L 2376:mymachine:2376 [email protected], а затем export DOCKER_HOST=localhost:2376 (я не тестировал это, и для этого требуется sshd).
+0

Если я запустил 'ssh -L 2376: mymachine: 2376 login @ server.com' Я только вхожу в консоль server.com. Может быть, я чего-то не хватает. –

+0

Вам нужно будет сделать еще несколько исследований о том, как работает пересылка портов ssh. [Вот вопрос] (http://unix.stackexchange.com/q/115897/171859), который может помочь. – BMitch

+1

Третий вариант помог мне. –