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 |