나는 도커로 복잡한 일을하고 있었지만, -it
플래그 가 무엇을 의미 하는지 모르겠습니다 . 최근에 나는 약간 docker run
혼란스러워하는 명령의 예를 발견했습니다 .
docker run -itd ubuntu:xenial /bin/bash
내 질문은 -it
인스턴스화 중 컨테이너가 실행되는 경우 여기에 플래그 를 작성하는 것이 의미가 있습니다.bin/bash
문서에는 예가 있습니다.
docker run --name test -it debian
설명과 함께
-it은 Docker에게 컨테이너의 stdin에 연결된 의사 TTY를 할당하도록 지시합니다. 컨테이너에 대화 형 bash 셸을 만듭니다.
및 도움말 페이지의 -t 플래그에 대한 설명
-t, –tty 의사 TTY 할당
-it 플래그를 삭제하면
docker run -d ubuntu:xenial /bin/bash
새로 만든 컨테이너는 그렇게 많이 살지 않습니다
에 docker ps -a
종료 됨으로 지정됩니다.
죄송합니다. 제 질문이 아주 어리 석다면 인터넷에서 설명을 찾을 수 없습니다.
답변
-it
에 대한 짧은 --interactive + --tty
당신이 때 docker run
이 명령 .. 그것은 용기 ,,의 바로 안쪽에 당신을 데려 갈 것이다 -d
위한 짧은 --detach
그냥 컨테이너를 실행하는 방법 다음 분리 그래서 기본적으로 당신이 배경 .. 용기를 실행 그것에서
편집 : 그래서 Docker 컨테이너를 -itd
실행하면 -it
옵션 이 실행되고 컨테이너에서 분리되므로 기본 앱을 실행하지 않아도 컨테이너가 백그라운드에서 계속 실행됩니다.
답변
docker run -it ubuntu:xenial /bin/bash
컨테이너와 상호 작용할 수있는 대화 형 모드 (따라서 -it
플래그) 에서 컨테이너를 시작합니다 /bin/bash
. 그 말은 지금 당신은해야합니다 bash
세션 내에서 할 수 있도록 용기 ls
, mkdir
또는 용기 내부의 bash는 명령을한다.
여기서 핵심은 “대화 형”이라는 단어입니다. 플래그를 생략하면 컨테이너는 계속 실행 /bin/bash
되지만 즉시 종료됩니다. 플래그를 사용하면 컨테이너가 실행되고 /bin/bash
인내심있게 입력을 기다립니다.