докер — могу ли я настроить контейнер для прямого доступа по ssh из сети?

#docker #networking

Вопрос:

у меня есть приложение, которое я запускаю на мощном компьютере в сети. основная идея заключается в том, что пользователь нажимает на что-то, затем задача отправляется на удаленный компьютер по ssh, выполняет некоторые команды, а затем возвращает что-то. это довольно прямолинейно.

однако компьютер является общим для других пользователей, поэтому я решил изолировать свое приложение в контейнере docker. В идеале я бы хотел, чтобы вместо ssh на удаленный компьютер вы просто подключались по ssh к докеру. я думаю, что это довольно просто, но это доставляет мне некоторые проблемы. Как бы я поступил с этим?

Комментарии:

1. Все, что связано с ssh в качестве основного транспорта, оказывается довольно сложным: вам нужен пользователь и учетные данные, чтобы существовать как на стороне клиента, так и на стороне сервера, и это трудно безопасно настроить, особенно в докере. Можете ли вы вместо этого использовать очередь заданий, такую как RabbitMQ?

2. (Помните первое правило безопасности Docker: любой, кто может выполнить любую docker команду, может довольно легко запустить весь хост . Если у вас многопользовательская система, предоставление пользователям доступа к docker run приложениям, вероятно, сделает ее менее безопасной, если вы еще не предоставите им sudo доступ.)