Как разместить Docker Daemon и Docker клиент на отдельной машине - PullRequest
0 голосов
/ 03 июня 2018

Я хотел бы запустить весь контейнер Docker на зарезервированном сервере, и я хочу управлять сервером с моей локальной машины.Есть ли способ, которым мы можем достичь этого?

Заранее спасибо.

1 Ответ

0 голосов
/ 03 июня 2018

Это подробно объясняется в докерской документации .По умолчанию Docker работает через не-сетевой сокет Unix (не выставляется).Но он также может опционально общаться через HTTP-сокет.Если вы хотите сохранить это в безопасности, вам нужно настроить TLS.

Я могу скопировать все команды со страницы документа, но я думаю, что это очень хорошо объясняет.

Вкратце:

  • Вы должны создать частный CA иоткрытые ключи на вашем сервере (где работает демон).
  • Вы можете создать ключ сервера и csr из своего CA.
  • Подписание публичного ключа с помощью вашего CA
  • Создание подписанного сертификата из файла конфигурации расширений.
  • На клиентском компьютере (вашем ноутбуке) создайте клиентский ключ и запрос на подпись сертификата(csr)
  • Создание ключа, подходящего для аутентификации, в файле конфигурации расширений на вашем клиенте
  • Создание подписанного сертификата (и удаление запросов на подпись)
  • Защита файлов ключей с помощьюchmod -v 0400

Теперь вы можете сделать так, чтобы демон Docker принимал подключения только от клиентов, предоставляющих сертификат, которому доверяет ваш CA:

$ dockerd --tlsverify --tlscacert=ca.pem --tlscert=server-cert.pem --tlskey=server-key.pem \
  -H=0.0.0.0:2376

На вашем клиенте вы можете подключиться, используя:

docker --tlsverify --tlscacert=ca.pem --tlscert=cert.pem --tlskey=key.pem \
  -H=$HOST:2376 version

Где $ HOST - это DNS или IP-адрес компьютера, на котором работает ваш демон

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...