#docker #networking
Вопрос:
у меня есть приложение, которое я запускаю на мощном компьютере в сети. основная идея заключается в том, что пользователь нажимает на что-то, затем задача отправляется на удаленный компьютер по ssh, выполняет некоторые команды, а затем возвращает что-то. это довольно прямолинейно.
однако компьютер является общим для других пользователей, поэтому я решил изолировать свое приложение в контейнере docker. В идеале я бы хотел, чтобы вместо ssh на удаленный компьютер вы просто подключались по ssh к докеру. я думаю, что это довольно просто, но это доставляет мне некоторые проблемы. Как бы я поступил с этим?
Комментарии:
1. Все, что связано с ssh в качестве основного транспорта, оказывается довольно сложным: вам нужен пользователь и учетные данные, чтобы существовать как на стороне клиента, так и на стороне сервера, и это трудно безопасно настроить, особенно в докере. Можете ли вы вместо этого использовать очередь заданий, такую как RabbitMQ?
2. (Помните первое правило безопасности Docker: любой, кто может выполнить любую
docker
команду, может довольно легко запустить весь хост . Если у вас многопользовательская система, предоставление пользователям доступа кdocker run
приложениям, вероятно, сделает ее менее безопасной, если вы еще не предоставите имsudo
доступ.)