반응형
Onbuild, Stopsignal, Healthcheck, Shell
Onbuild
빌드된 이미지를 기반으로 다른 이미지가 Dockerfile로 생성될 때 실행할 명령어를 추가한다.
FROM ubuntu:14.04
RUN echo "this is onbuild test"
ONBUILD RUN echo "onbuild!" >> /onbuild_file
"onbuild!" >> /onbuild_file을 통해 onbuild!라는 명령어가 최상위 디렉터리의 onbuild_file에 저장되도록 지정했다.
Stopsignal
컨테이너가 정지될 때 사용될 시스템의 콜 종류를 지정한다.
디폴트 값은 SIGTERM으로 설정되어 있지만 선택도 할 수 있다.
FROM buntu:14.04
STOPSIGNAL SIGKILL
위 Dockerfile을 빌드하고 해당 이미지로 컨테이너를 생성하면 컨테이너 설정에 StopSignal이 SIGKILL로 되어 있는 것을 확인할 수 있다.
Healthcheck
이미지로부터 생성된 컨테이너에서 동작하는 애플리케이션 상태를 체크하도록 설정한다. 컨테이너 내부에서 동작 중인 애플리케이션의 프로세스가 종료되지는 않았으나 동작하고 있지 않은 상태를 방지하기 위해 사용될 수 있다.
FROM nginx
RUN apt-get update -y && apt-get install curl -y
HEALTHCHECK --interval=1m --timeout=3s --retries=3 CMD curl -f <http://localhost> || exit 1
Healthcheck에서 사용되는 명령어가 curl이라 컨테이너에 먼저 curl을 설치해야 한다. —interval은 컨테이너 상태 체크하는 주기이다. —timeout에 설정한 시간을 초과하면 상태 체크에 실패한 것으로 간주하고 —retries 횟 수만큼 반복한다.
Sheel
shell뒤에 사용하고자 하는 셸을 명시해 따로 지정해 줄 수 있다.
FROM node
RUN echo hello, node!
SHELL ["/usr/local/bin/node"]
RUN -v
📖 ← [ 시작하세요! 도커/쿠버네티스 ] 책을 참고하여 공부하였습니다.
반응형
'DevOps > Docker' 카테고리의 다른 글
[Docker] : ENTRYPOINT, CMD 명령어 (0) | 2022.02.26 |
---|---|
[Docker] : ADD, COPY 명령어 (0) | 2022.02.26 |
[Docker] : ENV, VOLUME, ARG, USER (0) | 2022.02.25 |
[Docker] : 도커 멀티 스테이지 활용해 빌드하기 (0) | 2022.02.25 |
[Docker] : 캐시를 이용한 이미지 빌드 (0) | 2022.02.24 |
댓글