[Docker] image 만드는 법

그냥·2022년 7월 19일
0

docker

목록 보기
3/6

image 만드는 두 가지 방법

이미지를 만드는 방법은 commit, build 두 가지이다. 결과는 이미지를 만든다는 점에서 같지만 그 과정은 다르다.

  • commit: 컨테이너 내에서 입력된 명령어들을 바로 반영하여 이미지로 만드는 것
  • build: Dockerfile이라는 file을 만들어서 명령어 스크립트를 작성한 것을 이미지로 만드는 것



Commit

  • 명령어:
docker commit {container 명} {만들어질 image 명}
  • 특징: 실행되는 명령어가 쌓일 때마다 commit을 해주면 그것이 지속적으로 이미 만들어진 image에도 반영됨


Build

  • 명령어:
docker build -t {만들어질 이미지 명} {Dockerfile}이 있는 경로

# -t : 만들어진 이미지 명(tag)을 줄 수 있는 옵션
  • 예시:
docker build -t web-server-build .
# . 경로의 Dockerfile을 web-server-build라는 이름으로 이미지를 만들어라
  • Dockerfile
FROM ubuntu:20.04
RUN apt update && apt install -y python3
WORKDIR /var/www/html
CMD ["python3", "-u", "-m", "http.server"]

# RUN에서 &&는 앞에 명령어가 실행되고 끝나면 그 뒤의 명령어가 실행된다.
# && 쓰는 대신 줄바뀜하고 RUN을 쓰고 명령어를 작성해도 되지만 Layer가 하나가 더 생성되는 것은 비효율적이다.
# 그러므로 가능하면 RUN을 여러 번 쓰는 것 보단 &&을 사용하는 것이 바람직하다.

FROM: 어떤 언어, OS를 기반으로 image를 만들 것인지 작성하는 곳
RUN: 컨테이너가 만들어지기 전 단계에서 실행되는 명령어를 작성하는 곳
WOROKDIR: 작업이 진행 될 경로를 작성하는 곳
CMD: 컨테이너가 만들어진 이후에 실행되는 명령어를 작성하는 곳

0개의 댓글