SRV_ADMIN Telegram 2057
​​Вчера смотрел очередной вебинар Rebrain на тему деплоя проекта на базе docker в разные окружения. У меня периодически бывает реклама этой компании. Искренне рекомендую обратить на неё внимание. Хотя бы на их бесплатные вебинары. Они очень хорошего качества. Массу всего полезного оттуда вынес.

Так вот, вчера впервые узнал про полезную возможность Docker. Доступ к Docker daemon socket извне можно сделать на базе сертификатов. Не нужны пробросы портов, доступ по SSH и что-то ещё. Просто вешаем Docker на внешний интерфейс и ограничиваем доступ.

Чтобы сделать такую настройку нужно:
1️⃣ Создать корневой сертификат CA, подписать им сертификат сервера и клиента. Примерно то же самое, что настраивается для OpenVPN сервера. Делается всё через консоль с помощью openssl в несколько команд.
2️⃣ Запустить службу Docker с использованием функции tlsverify. Либо прямо через консоль запустить с нужными ключами, либо поправить systemd файл, изменив команду запуска.
3️⃣ Скопировать сертификат клиента на любую удалённую машину, где установлен Docker.
4️⃣ С помощью сертификата добавить удалённый context с авторизацией через tls. Покажу итоговую команду, так как не сразу получилось её найти (надо было сразу в консоли help смотреть):
# docker context create my-context --description "some description" \
--docker "host=tcp://myserver:2376,ca=~/ca-file,cert=~/cert-file,key=~/key-file"

Теперь, выбирая context, вы можете локально управлять удалёнными службами Docker. Например так:
# docker context use my-context
# docker ps
Увидите информацию с удалённого хоста.

Если у вас несколько хостов с Docker, можете подключить их все к одной машине и управлять централизованно через неё. А вообще это удобно для управления деплоем, что и было продемонстрировано на вебинаре. Этот вариант является альтернативой подключения по SSH. Получается более аккуратное решение, так как организуется доступ только к сокету Docker. SSH всё же более глобальная вещь с доступом к самому серверу, что чаще всего не нужно для управления только докером.

Всё перечисленное выше настраивается копипастом из документации - https://docs.docker.com/engine/security/protect-access/

Отдельная благодарность Василию Озерову. Вебинар вёл он. У него самая крутая подача. Он с такой скоростью фигачит команды в консоль, что у меня глаза разбегаются. Не успеваю следить. Хочется закрыть глаза, подождать, потом открыть и увидеть результат. И результат всегда есть.

Есть те, кто вчера тоже смотрели этот вебинар?

#docker #devops



tgoop.com/srv_admin/2057
Create:
Last Update:

​​Вчера смотрел очередной вебинар Rebrain на тему деплоя проекта на базе docker в разные окружения. У меня периодически бывает реклама этой компании. Искренне рекомендую обратить на неё внимание. Хотя бы на их бесплатные вебинары. Они очень хорошего качества. Массу всего полезного оттуда вынес.

Так вот, вчера впервые узнал про полезную возможность Docker. Доступ к Docker daemon socket извне можно сделать на базе сертификатов. Не нужны пробросы портов, доступ по SSH и что-то ещё. Просто вешаем Docker на внешний интерфейс и ограничиваем доступ.

Чтобы сделать такую настройку нужно:
1️⃣ Создать корневой сертификат CA, подписать им сертификат сервера и клиента. Примерно то же самое, что настраивается для OpenVPN сервера. Делается всё через консоль с помощью openssl в несколько команд.
2️⃣ Запустить службу Docker с использованием функции tlsverify. Либо прямо через консоль запустить с нужными ключами, либо поправить systemd файл, изменив команду запуска.
3️⃣ Скопировать сертификат клиента на любую удалённую машину, где установлен Docker.
4️⃣ С помощью сертификата добавить удалённый context с авторизацией через tls. Покажу итоговую команду, так как не сразу получилось её найти (надо было сразу в консоли help смотреть):
# docker context create my-context --description "some description" \
--docker "host=tcp://myserver:2376,ca=~/ca-file,cert=~/cert-file,key=~/key-file"

Теперь, выбирая context, вы можете локально управлять удалёнными службами Docker. Например так:
# docker context use my-context
# docker ps
Увидите информацию с удалённого хоста.

Если у вас несколько хостов с Docker, можете подключить их все к одной машине и управлять централизованно через неё. А вообще это удобно для управления деплоем, что и было продемонстрировано на вебинаре. Этот вариант является альтернативой подключения по SSH. Получается более аккуратное решение, так как организуется доступ только к сокету Docker. SSH всё же более глобальная вещь с доступом к самому серверу, что чаще всего не нужно для управления только докером.

Всё перечисленное выше настраивается копипастом из документации - https://docs.docker.com/engine/security/protect-access/

Отдельная благодарность Василию Озерову. Вебинар вёл он. У него самая крутая подача. Он с такой скоростью фигачит команды в консоль, что у меня глаза разбегаются. Не успеваю следить. Хочется закрыть глаза, подождать, потом открыть и увидеть результат. И результат всегда есть.

Есть те, кто вчера тоже смотрели этот вебинар?

#docker #devops

BY ServerAdmin.ru




Share with your friend now:
tgoop.com/srv_admin/2057

View MORE
Open in Telegram


Telegram News

Date: |

In 2018, Telegram’s audience reached 200 million people, with 500,000 new users joining the messenger every day. It was launched for iOS on 14 August 2013 and Android on 20 October 2013. Co-founder of NFT renting protocol Rentable World emiliano.eth shared the group Tuesday morning on Twitter, calling out the "degenerate" community, or crypto obsessives that engage in high-risk trading. Joined by Telegram's representative in Brazil, Alan Campos, Perekopsky noted the platform was unable to cater to some of the TSE requests due to the company's operational setup. But Perekopsky added that these requests could be studied for future implementation. Telegram Android app: Open the chats list, click the menu icon and select “New Channel.” While some crypto traders move toward screaming as a coping mechanism, many mental health experts have argued that “scream therapy” is pseudoscience. Scientific research or no, it obviously feels good.
from us


Telegram ServerAdmin.ru
FROM American