Docker Exec с ssh не дает такой контейнер Ошибка - PullRequest
0 голосов
/ 08 мая 2018

Я пытаюсь ssh напрямую в контейнер докера, используя следующие команды:

CONTAINER_ID=`ssh user@host -t "docker ps | head -n 2 | tail -n 1 | cut -d' ' -f1"`
ssh -tt user@host "docker exec -it $CONTAINER_ID /bin/bash"

Когда я делаю это, я получаю:

Error: No such container: <container_id>

Даже если я запускаю exec на самом экземпляре, контейнер есть, и он позволяет мне подключаться.

1 Ответ

0 голосов
/ 08 мая 2018

Готов поспорить, что ваш $ CONTAINER_ID содержит символы CRLF. Удалите их, используя tr:

CONTAINER_ID=`ssh user@host -t "docker ps | head -n 2 | tail -n 1 | cut -d' ' -f1 | tr -d '\r\n' " `

И это должно сработать.

Конечно, вы подключитесь к первому результату docker ps, какой бы он ни был ...

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