docker run /bin/bash이유 (미해결)

boingboing·2024년 9월 11일
  • 아무생각없이 docker 컨테이너 만들 때 (run 할 때) /bin/bash 붙여 줌

이유

  • docker run /bin/bash 명령어를 사용하는 이유는,
  • 새로운 Docker 컨테이너 안에서 bash 셸을 실행하여, 컨테이너 내부에 진입하고 명령을 실행할 수 있는 인터랙티브 환경을 제공하기 위해서임.

주로 다음과 같은 상황에서 사용됩니다:

  • 컨테이너 내부 접근: 컨테이너를 실행하고 내부에서 다양한 명령어를 입력하거나 테스트할 때 사용합니다.
  • 디버깅: 컨테이너 내부의 환경을 확인하거나 문제를 해결하기 위해 컨테이너 내에서 직접 명령을 실행할 수 있습니다.
  • 실시간 명령 실행: 컨테이너 내부에서 설치하거나 실행해야 할 프로그램이 있을 경우, 이를 직접 입력할 수 있습니다.
docker run -it .... /bin/bash

/bin/bash가 필요없는 경우

  • 컨테이너 이미지가 이미 기본으로 실행할 명령어를 설정해두었기 때문임.

  • 많은 Docker 이미지는 실행 시 기본적으로 특정 애플리케이션이나 쉘이 자동으로 실행되도록 설정되어 있음.

  • 이를 ENTRYPOINT 또는 CMD라고 부르며, Dockerfile에서 정의됨.

  • 지금 도커 이미지는 도커 허브에서 pytorch 도커를 이용함.

  • 이 도커 이미지에는 기본적으로 이미 CMD가 들어가 있음.

  • 따라서 내 도커 이미지에도 이미 CMD가 있음.

  • 내 도커파일에 CMD나 ENTRYPOINT를 안적어도 됨.

  • 맞나..? 근데 이 명령어는 맨 위에 있는데..

0개의 댓글