Dockerfile RUN, CMD, ENTRYPOINT 명령 차이
2968 단어 docker
docker run
명령 뒤의 명령 행 인자 로 대 체 될 수 있 습 니 다 docker run
시 다른 명령 이 지정 되 더 라 도) 저 희 는 RUN, CMD, ENTRYPOINT 가 실행 할 명령 을 두 가지 방식 으로 지정 할 수 있 습 니 다: Shell 형식 과 Exec 형식:
명령 실행
RUN 명령 은 보통 응용 프로그램 과 패 키 지 를 설치 하 는 데 쓰 인 다.RUN 은 현재 미 러 의 맨 위 에 명령 을 실행 하고 새 미 러 층 을 만 듭 니 다.Dockerfile 에는 항상 여러 개의 RUN 명령 이 포함 되 어 있다.다음은 하나의 예 이다.
RUN apt-get update && apt-get install -y \
bzr \
cvs \
git \
mercurial \
subversion
apt - get update 와 apt - get install 은 RUN 명령 에 실 행 됩 니 다. 설치 할 때마다 최신 가방 을 보장 할 수 있 습 니 다.apt - get install 이 단독 RUN 에서 실 행 될 경우 apt - get update 로 만 든 미 러 층 을 사용 합 니 다. 이 층 은 오래 전에 캐 시 되 었 을 수도 있 습 니 다.
CMD 명령
CMD 명령 은 사용자 가 용기 의 기본 실행 명령 을 지정 할 수 있 도록 합 니 다.이 명령 은 용기 가 시작 되 고 docker run 이 다른 명령 을 지정 하지 않 았 을 때 실 행 됩 니 다.다음은 하나의 예 이다.
CMD echo "Hello world"
용기 docker run - it [image] 를 실행 하면 출력 합 니 다:
Hello world
그러나 뒤에 docker run - it [image]/bin/bash 와 같은 명령 을 추가 하면 CMD 는 무시 되 고 명령 bash 는 실 행 됩 니 다.
root@10a32dc7d3d3:/#
ENTRYPOINT 명령
ENTRYPOINT 의 Exec 형식 은 용기 가 시 작 될 때 실행 할 명령 과 인 자 를 설정 하 는 데 사용 되 며 CMD 명령 이나 명령 행 인 자 를 통 해 추가 인 자 를 제공 할 수 있 습 니 다.ENTRYPOINT 의 매개 변 수 는 CMD 명령 과 다른 점 에서 항상 사 용 됩 니 다.다음은 하나의 예 이다.
ENTRYPOINT ["/bin/echo", "Hello"]
용기 가 docker run - it [image] 를 통 해 시 작 될 때 출력 은:
Hello
docker run - it [image] CloudMan 을 통 해 시작 하면 다음 과 같이 출력 합 니 다.
Hello CloudMan
Dockerfile 을 다음 으로 변경 합 니 다.
ENTRYPOINT ["/bin/echo", "Hello"]
CMD ["world"]
용기 가 docker run - it [image] 를 통 해 시 작 될 때 출력 은:
Hello world
docker run - it [image] CloudMan 을 통 해 시작 하면 출력 은 다음 과 같 습 니 다.
Hello CloudMan
ENTRYPOINT 의 매개 변 수 는 항상 사용 되 고 CMD 의 추가 매개 변 수 는 용기 가 시 작 될 때 동적 으로 바 꿀 수 있 습 니 다.
총결산
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Swarm의 도커 비밀이 게시물에서는 Redis를 사용한 실제 시나리오 예제를 제공하여 사용 방법을 보여주고자 합니다. Docker 기술에 대한 기본 지식 Docker Swarm 오케스트레이터에 대한 기본 지식 "Docker Swarm ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.