контейнер ssh to docker, размещенный на EC2 - PullRequest
0 голосов
/ 28 сентября 2018

Я хочу запустить докер-контейнер на EC2, а также мне нужно ssh в контейнер для целей отладки.У меня есть 2 открытых порта для SSH 22 и 8022 на моем экземпляре EC2 (применена группа безопасности).Проблема в том, что когда я хочу привязать 22 порт моего док-контейнера к порту 8022, он сообщает адрес, который уже используется.И адрес используется программой sshd.Если я убью процесс, я не могу ssh к экземпляру с моего локального хоста.Как я могу преодолеть этот тупик?

1 Ответ

0 голосов
/ 28 сентября 2018

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

docker exec -it <container-name> bash

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

  1. Запустите контейнер и подключите порт 22 внутри к свободному порту снаружи;

    docker run -p 2222:22 ...

  2. После запускаконтейнер, exec в него и установите ssh, если он еще не установлен, и запустите службу ssh, используя в контейнере что-то вроде systemctl start sshd

  3. ssh, используя IP-адрес экземпляра ec2 и сопоставленныйпорт

    ssh <container-user>@<ec2-instance-ip> -p 2222

Это подключится к экземпляру ec2 и перенаправит вас в контейнер из-за сопоставления портов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...