클라우드/도커
[도커] 도커 4: docker 파일 1 (Dockerfile)
KyuminKim
2024. 11. 14. 17:09
지난 시간에 이어,
이번에는 dockerfile을 알아보자
도커파일이란?
- 컨테이너 이미지 생성의 기본이 되는 파일
- 컨테이너의 구성 정보(기본 이미지, 패키지, 추가할 소스코드, 실행할 명령어 등)를 하나의 파일로 기록
- 확장자없이 Dockerfile 또는 (이름).Dockerfile
도커파일 예시 (Dockerfile)
FROM ubuntu:20.04
COPY ./home/text.txt rom_host.txt # 주석: 호스트의 ./home/test.txt를 컨테이너의 from_host.txt로 복사
RUN apt-get install # 주석: 실행할 명령어를 명시
WORKDIR /var/www/html # 주석: 작업 위치를 /var/www/html로 이동합니다
# 주석: 주석 시작은 #로 합니다
- 각 줄이 명령들로 이루어져 있으며, build 시 각 줄이 순서대로 실행됨
- FROM 명령은 생성할 컨테이너의 베이스 이미지를 지정하며 필수적임
- 주석은 맨 앞에 #을 붙여 시작하며, # 뒤로부터 해당 한 줄까지 주석으로 인식
🙋♀️ 주요 도커파일 instruction (중요)

주로 사용되는 명령어니, 숙지하자!
도커파일로부터 이미지 생성하기
docker build -t (이미지이름) (Dockerfile이 존재하는 경로) 형태로 사용한다
$ docker build -t my_image .
$ docker build -t my_image -f test.Dockerfile . # 특정 도커파일 지정하여 build
이 때에는 .으로 경로를 명시하였으므로,
명령어를 실행하는 현재 위치에 존재하는 Dockerfile을 찾는다
(./Dockerfile)

🙋♀️도커 파일과 이미지 레이어
- 레이어로 생성되는 명령어
- COPY, RUN, WORKDIR, ADD
- 레이어로 생성되지 않는 명령어
- ENV, LABEL 등 메타데이터 설정 명령어

$ docker history my_image_from_dockerfile
이 명령어를 통해 새로 생성된 layer를 확인할 수 있다.
이 경우, COPY 명령어로 host 컴퓨터의 파일을 컨테이너로 전송한 이력이 남는다
도커파일 VS 컨테이너 commit
이상하다,
https://this-is-a.tistory.com/46?category=1147221
[도커] 도커 3: docker 명령어 모음 2탄 (도커 이미지 관련 명령어)
지난 시간에 이어,유용한 docker 명령어를 알아보자도커 컨테이너 이미지 다운로드$ docker pull centos:latest # 이미지이름:버전 $ docker pull registry.hub.docker.com/ubuntu:latest # url(http://제거)로 pull도커 허브
www.kyumin.blog
지난번 글에 따르면,
$ docker commit my_running_container # 실행 중인 컨테이너를 이미지로 생성
$ docker commit -a “lemon” my_running_container # 작성자 기입하여 컨테이너를 이미지로 생성
$ docker commit -m “my first commit” my_running_container # 주석을 기입하여 컨테이너를 이미지로 생성
docker commit 명령어를 통해
현재 컨테이너로부터 도커 컨테이너 이미지를 만들 수 있었다
다음 시간에는 Dockerfile을 좀 더 알아보자!