Это половина вопроса о том, как это сделать, половина о лучших практиках, как это сделать.
Примечание: это не производственная среда. Это просто настройка, которую я пробую на домашнем сервере.
Я хочу настроить один docker контейнер, работающий sshd
, который прослушивает внешние соединения на заданном порту на inte rnet, который я назову моим «контейнером для входа». После подключения пользователь может ssh
(или что-либо еще подходящее) к другим контейнерам (РЕДАКТИРОВАТЬ: на том же хосте), на которых запущено программное обеспечение c (IE a Python или Julia REPL), чтобы делать все, что угодно они связаны, чтобы сделать. Контейнер входа в систему заблокирован таким образом, что единственное, что может сделать пользователь, - это подключиться к одному из других контейнеров (что я выполнил с помощью r bash и некоторого сокращения $ PATH).
Эти другие контейнеры не должны принимать внешние соединения - только соединение из основного контейнера. Фактически, они должны предпочтительно отклонять любое соединение , а не , исходящее из контейнера входа в систему.
Я знаю, что это можно сделать, установив sshd
на вторичных контейнерах в дополнение к первичным один, но мне интересно, возможно ли создать такую ситуацию без необходимости использовать sshd
. Было бы предпочтительнее, чтобы вторичные контейнеры работали только с программным обеспечением, которое я хочу, чтобы они запускали, а не с демоном S SH плюс нужное мне программное обеспечение, просто с точки зрения простоты.
Настраивает ssh
на моих вторичных контейнерах единственный способ сделать это sh это? Или можно Docker сетей использовать для достижения sh этой цели как-то?