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이란 무엇인가
AD
제휴 광고 · 일부 링크는 수수료를 받을 수 있습니다
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 명령어
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 정리
AD
제휴 광고 · 일부 링크는 수수료를 받을 수 있습니다
Dockerfile = 이미지 설계도
FROM = 기본 이미지
RUN = 이미지 생성 시 실행
WORKDIR = 작업 폴더
COPY = 파일 복사
CMD = 컨테이너 실행 시 실행
다음 Part에서는 실제 프로젝트를 Dockerfile로 컨테이너화해본다.
AD
제휴 광고
일부 링크는 제휴 링크이며, 구매 또는 가입 시 일정 수수료를 받을 수 있습니다.
AD










