• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    미해결

run -it -d 에 대하여 궁금한 점이 있습니다.

22.01.25 08:26 작성 조회수 171

2

안녕하세요.

좀 궁금한 게 있는데요,

ubuntu 이미지를 run 할 때는 -it (-d) 를 써야만 동작이 되는데,

redis 이미지의 경우에는 run을 할 때 -it  (-d)  를 굳이 안써도 잘 동작됩니다.

대체 둘 사이에 어떤 차이가 이런 결과를 낳는 걸까요?

답변 1

답변을 작성해보세요.

2

안녕하세요!

도커에서 "-it" 옵션은 사용자의 입력이 필요한 경우 사용합니다.

ubuntu 이미지와 redis 이미지의 가장 큰 차이는 ubuntu 이미지는 실행 후 사용자가 쉘 명령어를 입력해야 한다는 점이고 redis는 실행 후 사용자의 입력이 필요없이 서버가 실행된 상태라는 점입니다.

따라서 ubuntu 이미지를 실행할 때 "-it" 옵션을 사용하지 않는 다면 사용자의 입력이 필요 없다고 생각하고 ubuntu 컨테이너가 입력을 기다리지 않고 바로 종료가 됩니다.

사용자 입력 유무에 따라 옵션을 사용하시면 됩니다.

감사합니다!

식빵님의 프로필

식빵

질문자

2022.02.03

답변 너무 감사합니다!

그런데 그 쉘 명령어를 입력해야 한다, 안 한다의 유무를 혹시 알아낼 수 있는 방법이 있을까요? 

안녕하세요.

컨테이너를 데몬처럼 계속 띄우는 경우(가장 일반적이며, 웹서버나 디비 서버 등이 있습니다)는 쉘 명령어를 입력안하는 경우고, 컨테이너에 접속해서 내용을 확인하고 싶은 경우엔 쉘 명령어를 입력해야 하기 때문에 -it 옵션을 사용합니다.

대부분의 경우는 -it 옵션을 사용하지 않고 실습이나 특별한 디버깅 용도로만 사용하는 경우가 많습니다.

감사합니다!