Обычно я хочу открыть оболочку bash на изображении докера. Процесс с несколькими командами для этого будет:Не удается выполнить команду docker pid для команды bash
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bba983d72d48 scubbo/datenight "apachectl -DFOREGROU" 7 days ago Up 7 days 0.0.0.0:80->80/tcp pensive_bell
$ docker exec -it bba983d72d48 bash
Я хотел бы сократить это. Тем не менее, я получаю следующее сообщение об ошибке:
$ docker ps | awk 'NR > 1 {print $1}' | xargs -I {} docker exec -it {} bash
cannot enable tty mode on non tty input
От маленькой Googling, я нашел this issue - однако, если я бросаю вариант -t
, команда «завершает» сразу.
Я подтвердил, что вручную копировать-вставить вывод $ docker ps | awk 'NR > 1 {print $1}'
в соответствующее положение docker exec -it {} bash
.
EDIT: вырезание docker ps
из трубы, следующий также не:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4f20409c37b7 scubbo/datenight "apachectl -DFOREGROU" 8 days ago Up 8 days 0.0.0.0:80->80/tcp drunk_northcutt
$ docker ps -q
4f20409c37b7
$ echo '4f20409c37b7' | xargs -I {} docker exec -it {} bash
cannot enable tty mode on non tty input
Спасибо, это аккуратный набор команд! Я все еще не уверен, почему я не могу передать id в 'xargs docker exec'. – scubbo