ECS에서 docker run 명령의 -t, --tty 옵션에 해당하는 설정을 한 이야기
3478 단어 DataSunriseFargateECS도커AWS
소개
안녕하세요.
현재 저는 사내의 데이터 분석 기반의 쇄신에 임하고 있습니다.
이번은 검증중의 DataSunrise를 ECS에 태울 수 있도록 시행착오를 실시하고 있던 중에서 발견했다,docker run
명령의 -t
DataSunrise에 대한 자세한 내용은 여기을 참조하십시오.
일의 발생
로컬에서 할 수있는 일이 ECS에서 할 수 없습니다.
검증을 위해 local 환경에서 컨테이너를 세웠습니다.--tty
(local 환경에서)
이 경우는 예상대로 컨테이너가 일어나 https://[글로벌 IP]:11000으로 연결할 수 있었습니다.
이것을 ECS로 실현하고 싶었습니다만, ECS의 태스크는 즉시 종료해,
CloudWatchLogs는 docker run -itd -p 11000:11000 [datasunrise image id]
메시지만 흐릅니다.
시험에 local 환경에서,service is started.
를 실행해 보면,docker run [datasunrise image id]
와의 표시만으로 컨테이너는 즉시 종료하고 있었습니다.
(본 메세지는 DataSunrise 컨테이너가 기동, 즉시 종료했을 때에 남기는 로그와 같습니다.)
결과적으로 ECS에서 service is started.
명령의 docker run
, -t
옵션에 해당하는 것을 설정해야 한다고 판단했습니다.
결론
작업 정의에서 --tty
를 pseudoTerminal
로 설정하여 컨테이너를 계속 시작할 수있었습니다.
덧붙여 본 문제를 해결에 이끌어 주신 기사는 이쪽의 stackoverflow 입니다.
구체적인 설정 방법은 다음과 같습니다.
설정 방법
GUI에서 설정하는 방법을 설명합니다.
결국 JSON을 만지게 되므로 CLI로 설정하는 경우도 대응 가능하지 않을까 생각합니다.
작업 정의에서
--tty
를 pseudoTerminal
로 설정하여 컨테이너를 계속 시작할 수있었습니다.덧붙여 본 문제를 해결에 이끌어 주신 기사는 이쪽의 stackoverflow 입니다.
구체적인 설정 방법은 다음과 같습니다.
설정 방법
GUI에서 설정하는 방법을 설명합니다.
결국 JSON을 만지게 되므로 CLI로 설정하는 경우도 대응 가능하지 않을까 생각합니다.
페이지 하단에 존재합니다. (이미지 빨간색 프레임 부분)
초기 설정에서 null이 되었지만 true로 다시 쓰고 저장을 누르면 적용할 수 있었습니다. (EC2/Fargate 모두 적용 가능)
*이쪽은 설명용 화상이므로, 해당 개소 이외는 환경에 맞추어 좋게 설정해 주세요. 만약을 위해.
요약
ECS에서 true
명령의 docker run
, -t
옵션에 해당하는 설정을 만들었습니다.
이번은 시행 착오 단계에서 stackoverflow에 도착한 것에 의해 해결했습니다만,
잘 공식 문서를 읽어 보면
pseudoTerminal
Type: Boolean
Required: no
When this parameter is true, a TTY is allocated. This parameter maps to Tty in the Create a container section of the Docker Remote API and the --tty option to docker run.
라는 기재가 있었습니다.
제대로 공식 문서 읽어 보자는 교훈이었습니다. . .
참고
또, 시행착오 단계에서 이하 기사도 참고로 했습니다. 감사합니다.
Docker 컨테이너를 시작한 상태로 유지
Reference
이 문제에 관하여(ECS에서 docker run 명령의 -t, --tty 옵션에 해당하는 설정을 한 이야기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/t_odash/items/c7a181bf3bc890927065텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)