#docker #ubuntu #ssh
Вопрос:
Я установил новый контейнер docker (стандартная последняя версия Ubuntu). Я хотел бы подключиться к нему через SSH-доступ. Я следовал инструкциям по этой отличной ссылке https://linuxconfig.org/how-to-connect-to-docker-container-via-ssh
Как только я остановлю свой контейнер и перезапущу его, служба SSH больше не будет доступна. Мне приходится запускать его вручную в любое время. Я тоже попробовал эту команду «systemctl включить ssh», чтобы настроить ssh как постоянный. Результат выглядит следующим образом:
«Синхронизация состояния ssh.service со сценарием службы SysV с /lib/systemd/systemd-sysv-установка. Выполнение: /lib/systemd/systemd-sysv-установка включить ssh»
Так что, кажется, все в порядке, но когда я останавливаю контейнер и перезапускаю его, проблема все еще присутствует, в ubuntu не запущена служба ssh.
Кто-нибудь знает, как настроить SSH-доступ как постоянный в этом случае?
Заранее благодарю всех вас за вашу помощь 🙂
Комментарии:
1. Обычно контейнер Docker обертывает один процесс; например, сервер Nginx или PostgreSQL. Отдельный процесс обычно не является демоном ssh, и получение интерактивной оболочки внутри процесса обычно не является важной задачей.
Ответ №1:
Вы должны написать настроенный файл Dockerfile и внутри него настроить конфигурацию SSH, чтобы каждый раз, когда вы запускаете контейнер, у него был работающий демон SSH.
О проблеме, из-за которой при повторном запуске контейнера он теряет конфигурацию SSH, вызвано тем, что вы хотите создать новый контейнер из исходного (не настроенного SSH) Изображение Ubuntu. Если вы хотите запустить настроенный контейнер, вам необходимо получить lsit контейнеров с помощью docker container ls --all' and copy the ID, the run the container by
docker run {{ID}}`.
Комментарии:
1. Хорошо, спасибо за ваш ответ :). Я попробую это сделать.
2. Пожалуйста, примите и поддержите, если мой ответ подойдет вам. Спасибо.