Docker의 진입점 플래그 이해

Marion Paul Kenneth Mendoza 2023년6월20일
  1. 진입점 명령어 이해
  2. 진입점 플래그를 사용하여 인수 전달
  3. 결론
Docker의 진입점 플래그 이해

docker run 명령에서 진입점(--entrypoint) 플래그를 사용하여 Docker 컨테이너를 시작할 때 실행할 명령을 지정합니다. 이 플래그를 사용하면 컨테이너의 동작을 사용자 지정하고 Docker가 미리 실행할 명령을 결정할 수 있습니다.

이 기사에서는 진입점 명령의 개요에 대해 설명하고 Docker는 docker run 명령을 실행할 때 이를 사용합니다.

진입점 명령어 이해

기본적으로 Docker 컨테이너의 진입점은 이미지를 빌드하는 데 사용되는 Dockerfile의 CMD 명령입니다. CMD 명령은 Docker가 컨테이너를 시작할 때 실행하는 기본 명령을 지정합니다.

예를 들어 다음 Dockerfile은 이미지의 기본 진입점을 echo 명령으로 정의합니다.

FROM ubuntu:18.04
CMD ["echo", "Hello, World!"]

docker builddocker run 명령을 사용하여 이미지를 빌드하고 이미지를 기반으로 컨테이너를 실행할 수 있습니다.

예제 코드:

docker build -t my-image .
docker run my-image

이 예에서 docker run 명령은 my-image 이미지를 기반으로 컨테이너를 시작하고 echo 명령을 컨테이너의 진입점으로 실행합니다. 위의 명령은 "Hello, World!" 메시지를 콘솔에 인쇄합니다.

그러나 컨테이너에 대해 다른 진입점을 지정하려는 경우 docker run 명령을 실행할 때 --entrypoint 옵션을 사용할 수 있습니다.

예제 코드:

docker run --entrypoint /bin/sh my-image:latest

진입점 플래그를 사용하여 인수 전달

이 명령에서 --entrypoint 옵션은 컨테이너의 진입점을 /bin/sh 명령으로 지정합니다. 이 명령은 Dockerfile에 지정된 기본 진입점을 재정의합니다.

Dockerfile 내부에 정의된 CMD 대신 Docker가 컨테이너를 시작할 때 /bin/sh가 명령을 실행하도록 합니다.

컨테이너의 진입점을 지정하는 것 외에도 진입점 플래그를 사용하여 진입점 명령에 인수를 전달할 수도 있습니다.

예제 코드:

docker run --entrypoint /bin/sh my-image:latest -c

docker run --entrypoint 명령은 다음 구문을 사용합니다.

docker run --entrypoint <entrypoint.sh> <image:tag> <arg1> <arg2> <arg3>

결론

시작된 컨테이너에서 기본 명령 셸을 지정하는 데 도움이 되도록 --entrypoint 플래그와 함께 명령을 실행합니다. Docker는 이를 사용하여 컨테이너의 동작을 사용자 지정하고 처음 사용할 때 특정 명령 또는 스크립트를 실행합니다.

이 플래그는 컨테이너가 항상 특정 명령을 시작하고 실행하는지 확인하려는 프로덕션 환경에서 컨테이너를 실행할 때 유용할 수 있습니다.

Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn