SSH 명령을 사용하여 "docker exec"를 실행하는 방법

SSH 명령을 사용하여 "docker exec"를 실행하는 방법

재미없는 일이--

#!/usr/bin/env bash

ssh -i 'my.pem' "ubuntu@${addr}" "docker exec -ti '$name' bash"

이런 형편없는 오류가 발생합니다.

the input device is not a TTY

전혀 맥락이 없습니다. docker는 컴퓨터에서 잘 작동합니다. 이 작업을 예상대로 수행하려면 어떻게 해야 하는지 아는 사람이 있나요?

나는 또한 이것을 시도했지만 같은 오류가 발생했습니다.

 ssh -i 'my.pem' "ubuntu@${hb_ip_addr}" "bash -c 'docker exec -ti '$name' bash'"

나쁜.

답변1

대답은 다음과 같습니다. https://stackoverflow.com/a/47025876/1223975

즉, 다음이 필요합니다.

ssh -tti

예, 두 개의 "t" 매개변수가 있습니다.

정말 악몽 같은 유틸리티입니다.

이제 이것은 zshbashv5macOS 컴퓨터에서 작동합니다.

 ssh -tti 'my.pem' "ubuntu@${addr}" "docker exec -ti $name bash"

관련 정보