Запустите локальный докер-контейнер, в который можно войти по SSH - PullRequest
0 голосов
/ 07 октября 2019

Я пытаюсь проверить некоторые изменения в приложении Capastrano. Я надеялся локально запустить докер-контейнер, в который мое приложение может войти по SSH, чтобы я мог запускать команды для этого контейнера и наблюдать за тем, что происходит.

Я смотрел на https://hub.docker.com/r/rastasheep/ubuntu-sshd/. Я могу войти в ssh через ssh root@localhost -p 49154, но мне нужно иметь возможность доступа через его IP и порт 22, например, ssh root@172.17.0.2, но это истечет время ожидания.

Я подозреваю, что мне нужно сделать что-то типа сетевого докера, чтобы это работало. Есть идеи?

Ответы [ 2 ]

0 голосов
/ 10 октября 2019

После прочтения документации на Capastrano я понимаю, что могу просто указать порт при определении роли. Так что я могу вызвать контейнер с

docker run -d -P -p 32770:22 --name server rastasheep/ubuntu-sshd:14.04

и прикрепить к нему:

role :cost_app, "root@localhost:32770"
0 голосов
/ 08 октября 2019

Вы можете попробовать:

docker exec -it <container_id> bash

Это, по сути, даст вам оболочку контейнера и позволит вам увидеть, что происходит внутри контейнера, и отладить его.

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