[Docker] Docker 개발 프로세스_TIL

Dockerfile의 생성

- Docker에거 소프트웨어 설치 명령을 기술

- 베이스 이미지를 기술 (FROM) -> 코드 복사 -> 코드 실행

FROM node:alpine # FROM = OS종류를 적어줌(여기서는 Alpine이라는 경량 리눅스를 데모목적으로 선택)
COPY ./app	 # COPY = 코드 복사에 사용
WORKDIR /app	 # WORKDIR = Wordking directory를 지정(지정 시 cmd에 경로 적어줄 필요 없음)
CMD node app.js	 # CMD = 실행하는 명령 앞에 지정

- 그 외의 키워드

  • ARG : Docker Image를 만들 때 사용되는 변수 지정, 최종 이미지에는 안 들어감
  • ENV :  컨테이너가 실행될 때 사요오디는 환경변수, 최종 이미지에 저장됨
  • USER : 컨테이너를 실행할 때 사용할 유저 ID
  • EXPOSE : 서비스 사용 포트번호
  • RUN : 빌드시 실행되어야하는 명령들이 지정됨 (docker build) / RUN apt-get update && apt-get install -y curl

- CMD vs. ENTRYPOINT

  • Container가 시작할 때 시행되어야 하는 명령어를 지정하는데 사용
  • 둘다 한 Dockerfile에 여러번 실행되면 둘다 마지막 것만 사용되며 결과도 같음
  • cmd 오버라이드
    • 보통 docker run my_image명령어로 실행 시 dockerfile의 cmd에 기술된 명령 실행됨 (my_image = dockerfile)
    • dockerfile안에 CMD명령을 오버라이드 하고싶으면 docker run my_image temp.sh  (temp.sh가 실행됨)

'Programmers TIL' 카테고리의 다른 글

[Docker] Docker Volume_TIL  (0) 2023.06.14
[Docker] Docker 명령 정리_TIL  (0) 2023.06.14
[Docker] Docker와 K8s_TIL  (1) 2023.06.12
[DataWearhouse] Snowflake_TIL  (4) 2023.05.25
[DataWearhouse] Redshift 고급 기능_TIL  (1) 2023.05.24