[DockerFile] 개념 잡기

Ell!·2021년 12월 22일
0

개념 잡기

목록 보기
2/3

DockerFile

이 글은 생활 코딩 - 도커 이미지 만드는 법의 요약입니다

한줄 핵심 : dockerfile은 console 창에 쓰는 명령어를 한 파일에 담은 것. ex. cd, install 등

개요

image ---- run ---> container

우리가 image를 만들고 싶다면??

  1. container ----commit ----> image
  2. docker file 작성 후 build ---> image

commit vs build

commit : 이미 사용 중인 컨테이너를 image를 만드는 백업의 느낌
build : dockerfile을 통해 우리가 만들고 싶은 이미지를 생성하는 느낌

웹서버 이미지를 만들고 싶다!

commit

docker run --name web-server -it ubuntu:20.04
(ubuntu 20.04로 web-server라는 이름의 컨테이너 생성. 
생성 후에는 바로 해당 컨테이너 쉘로 진입)
docker commit ContainerName [Repository]

DockerFile

// dockerfile
FROM ubuntu:20.04


// console
docker build -t web-server-build .

t : tag
web-server-build 라는 이름의 이미지를 현재
위치에 생성

// dockerfile

FROM ubuntu:20.04
// linux update 후 
// pyhon3 install(사용자가 yes 안 눌러도 자동설치)
RUN apt update && apt install -y python3
// 해당 directory 생성, 이동
WORKDIR /var/www/html
// host의 index.html을 현재 디렉토리로 복사
COPY ["index.html", "."]
// 
CMD ["python3", "-u", "-m", "http.server"]
위의 docker file 생성 후.

docker build -t ImageName .
docker run -p 8888:8000 --name ContainerName ImageName

RUN VS CMD
run은 build할 때 작동(이미지에 반영), cmd는 컨테이너가 실행될 때 실행.

3줄 요약

  1. commit은 백업, build는 생성의 의미로 이미지 만들어냄.
  2. dockerfile을 적어서 build의 과정을 한 파일에 담을 수 있음
  3. docker file command로 검색...

참조

https://www.youtube.com/watch?v=0kQC19w0gTI

profile
더 나은 서비스를 고민하는 프론트엔드 개발자.

0개의 댓글