Zeno ZENO

Part 6. Dockerfile이란 무엇인가?

지금까지는 다른 사람이 만든 Docker 이미지를 사용했다. 이번 글에서는 Dockerfile을 작성하여 직접 Docker 이미지를 만들어본다. Dockerfile의 개념부터 FROM, RUN, COPY, WORKDIR, CMD 명령어까지 초보자도 이해할 수 있도록 설명한다.

Part 6. Dockerfile이란 무엇인가?

1. 지금까지 우리가 한 일

지금까지는 Docker Hub에서 이미 만들어진 이미지를 다운로드해서 사용했다.

docker pull ubuntu

docker run ubuntu

하지만 실제 프로젝트에서는 직접 이미지를 만들어야 한다.

그 역할을 하는 것이 Dockerfile이다.


2. Dockerfile이란 무엇인가

Dockerfile은 이미지를 만들기 위한 설계도 파일이다.

쉽게 말하면 Docker 이미지 제작 설명서다.

예를 들어 다음 내용을 Dockerfile에 작성할 수 있다.

Ubuntu 사용

Node.js 설치

프로젝트 파일 복사

서버 실행

Docker는 Dockerfile을 읽고 이미지를 생성한다.


3. Dockerfile이 필요한 이유

만약 서버를 직접 세팅한다면 다음 작업을 반복해야 한다.

Ubuntu 설치

Node.js 설치

npm 설치

프로젝트 복사

실행

Dockerfile을 사용하면 이 과정을 자동화할 수 있다.


4. 첫 번째 Dockerfile

FROM ubuntu

CMD ["echo", "Hello Dockerfile"]

설명

FROM = 사용할 기본 이미지

CMD = 컨테이너 실행 시 실행할 명령어

5. FROM 명령어

모든 Dockerfile은 보통 FROM으로 시작한다.

FROM ubuntu

의미

Ubuntu 이미지를 기반으로 새 이미지를 만든다.

6. RUN 명령어

RUN apt update

이미지 생성 과정에서 실행된다.

주로 패키지 설치에 사용한다.


7. WORKDIR 명령어

WORKDIR /app

작업 폴더를 지정한다.

이후 명령어는 /app 기준으로 실행된다.


8. COPY 명령어

AD

제휴 광고 · 일부 링크는 수수료를 받을 수 있습니다

패널파워 - 설문조사로 돈 버는 습관
COPY . .

현재 프로젝트 파일을 이미지 안으로 복사한다.


9. CMD 명령어

CMD ["node","server.js"]

컨테이너 실행 시 실행될 기본 명령어다.


10. Docker 이미지 생성하기

docker build -t my-first-image .

설명

-t = 이미지 이름 지정

my-first-image = 이미지 이름

. = 현재 폴더

11. 생성된 이미지 확인

docker images

방금 만든 이미지가 목록에 표시된다.


12. 생성한 이미지 실행하기

docker run my-first-image

Dockerfile에 작성한 CMD가 실행된다.


13. Dockerfile과 Image 관계

Dockerfile

↓

docker build

↓

Image 생성

↓

docker run

↓

Container 생성

실제 Docker 개발은 대부분 이 흐름으로 진행된다.


14. Part 6 정리

Dockerfile = 이미지 설계도

FROM = 기본 이미지

RUN = 이미지 생성 시 실행

WORKDIR = 작업 폴더

COPY = 파일 복사

CMD = 컨테이너 실행 시 실행

다음 Part에서는 실제 프로젝트를 Dockerfile로 컨테이너화해본다.

AD

제휴 광고

일부 링크는 제휴 링크이며, 구매 또는 가입 시 일정 수수료를 받을 수 있습니다.

AD

'Docker' 카테고리의 다른 글

전체보기