Как получить доступ к консоли Docker контейнера по ip сервера?
Добрый день. Есть облачный сервер, к нему есть доступ по ssh. На сервере есть docker контейнер.
Сейчас чтобы зайти в консоль docker контейнера я делаю так:
1. Захожу по ssh на север: например ssh root@87.45.245.23
2. Запускаю docker exec -it deepo /bin/bash
3. Оказываюсь в docker консоли.
Вопрос как пробросить ssh из докера на ip сервера, чтобы я мог подключить к консоли докера например по ssh root@87.45.245.23 - p 222
Порт может быть другим не 22 как у сервера, а например 222
Что за контейнер, что в нём запущено? Dockerfile есть?
Скорее всего, как вы хотите, не получится. У вас там что-то полезное видимо запущено, а не тупо ssh-сервер. Так что нужно будет дополнительно к целевому процессу ещё и запускать ssh-сервер.
Такое себе будет решение с точки зрения архитектуры и принципов docker...
UPD:
Так что нужно будет дополнительно к целевому процессу ещё и запускать ssh-сервер.
А так как докер предполагает запуск только 1 процесса в 1 контейнере, то надо мудрить с чем-то вроде supervisord.
Anton Kuzmichev, контейнер Deepo набор для обучения и запуска нейросетей. Запущен сервер Jypiter Notebok, могу из консоли запускать Python скрипты, но это не удобно, хочу подключить удаленные интерпретатор в Pycharm.
SSH сервера там наверное нет. Понял, надо разбираться более глубоко. Я думал там просто пробросить порт и заработает.