Dockerfile 작성법

cch_chan·2022년 10월 31일
0

DevOps

목록 보기
15/19

docker

애플리케이션을 구동하는데 필요한 모든 환경변수나 라이브러리, 프레임워크를 담아서 컨테이너화하여 보관해주는 소프트웨어 (환경문제를 해결해줌)

컨테이너를 만드는 순서

  1. Dockerfile
  2. image
  3. container

dockerfile이란?

docker에서 이미지를 생성하기 위한 용도로 작성하는 파일 환경변수나 어플리케이션 실행하기 위해서 꼭 필요한 실행을 위한 모든 파일, 스크립트들
(레시피)

image?
도커파일을 바탕으로 만들어지고 변경 불가능한 불변에 상태를 가짐
(게임cd)

container?
image를 구동 시켜주는 인스턴스
(게임기)


도커 파일 예시

#node 기반 리눅스
FROM node:16-alpine 

#"RUN, "CMD", "ENTRYPOINT" 명령 실행될 작업 디렉토리
WORKDIR /was-cch

#파일복사
COPY package.json package-lock.json ./

#package에 딱 맞는 버전만 설치
RUN npm ci

COPY . .

#컨테이너 시작 되었을 때 실행한 스크립트
ENTRYPOINT [ "node", "app.js" ]

Tip.

이미지를 만드는 시간을 단축하기 위해서는 레이어순으로 만드는게 효율적
변경 되지 않은 이미지는 그대로 두고 이미지를 뜰 수 있음.

docker file 옵션 :
FROM : 베이스 운영체제
WORKDIR : 워커디렉토리 실행할 폴더
COPY : 복사할 파일 dockerfile 기준의 파일 경로를 의미하고 우측은 복사할 경로를 의미합니다
RUN : 실행할 명령어
ENTRYPOINT : 실행할 스크립트
LABEL : 라벨 작성
ENV : 환경변수 설정

도커 이미지 생성

docker build [옵션] [도커파일 경로]

생성 옵션
-t : 이미지 이름 선택
-f : 도커파일 이름 선택

컨테이너 실행

Docker run -d -p 8080:8080

실행 옵션
-d : 백그라운드 실행
-p : 포트 설정 (앞:로컬포트, 뒤:컨테이너포트)

image 저장소 이용

  1. docker hub
  2. Artifact Registry (GCP)
profile
꾸준히 새로운 기술을 배워나가는중입니다.

0개의 댓글