Docker Image

공부의 기록·2022년 5월 1일
0

Docker

목록 보기
3/4

Docker Image

본 문서는 2022년 5월 1일 에 작성되었습니다.

도커 이미지 는 다음과 같은 특징을 가지고 있습니다.

  1. 컨테이너를 만들기 위해 필요한 설정이나 종속성 등을 가지고 있는 소프트웨어 패키지입니다.
  2. 일반적으로 Dockerhub 에 업로드된 파일을 이용하거나 원하는 파일을 만들어서 Dockerhub 에 업로드할 수 있습니다.
  3. 이렇게 업로드된 이름을 기반으로 docker create 이미지이름 으로 컨테이너를 실행할 수 있습니다.

이는 다음과 같은 생성 프로세스 를 거치게 됩니다.

  1. Dockerfile 작성
  2. 작성된 파일을 Docker Client 에 전달
  3. 전달 받은 내역은 Docker Server 에서 클라이언트 내부의 중요한 작업들을 처리합니다.
  4. Docker Image 생성

Docker File

Docker File 은 도커 이미지를 만들기 위한 설정 파일입니다.
이 파일에 명시된 내용 들로 컨테이너가 어떻게 행동해야 하는 지에 대한 설정을 정의합니다.

절차

  1. FROM | 베이스 이미지 명시 (파일 스냅샷에 해당)
  2. RUN | 추가적으로 필요한 파일을 다운 받기 위한 몇 가지 명령어 명시 (파일 스냅샷에 해당)
  3. CMD | 컨테이너 시작 시 실행될 명령어를 명시 (시작시 실행 될 명령어에 해당)

베이스 이미지

이미지는 여러 개의 레이어 로 이루어져 있습니다.
이러한 레이어 중에서 가장 기본이 되는 레이어 (OS 등) 를 베이스 이미지 라고 합니다.

작성 예시

# 베이스 이미지 명시
FROM baseImage

# 추가적으로 필요한 파일들을 다운로드
RUN command

# 컨테이너 시작시 실행 될 명령어를 명시
CMD ["executable"]
  1. FROM
    이미지 생성 시 기반이 되는 이미지 레이어
    <이미지 이름><태그. 형식으로 작성하여 버전을 명시할 수 있습니다.
    명시하지 않을 시에는 암묵적으로 최신 버전으로 다운로드 됩니다.
    ubuntu:14.04
  2. RUN
    도커 이미지가 실행 되기 전에 수행할 쉘 명령어
  3. CMD
    컨테이너 시작 되었을 때 실행할 파일 또는 쉘 스크립트
    해당 명령어는 DockerFile 내 1회만 쓸 수 있습니다.

Docker Client

Docker Client 는 전달받은 Docker File 을 기반으로 새로운 이미지 를 만들어 냅니다.

  1. Docker FIle 실행

  2. 임시 컨테이너 생성
    1.1. FROM | 대상 이미지 를 임시 컨테이너의 최하위 레이어인 베이스 이미지 로 사용합니다.
    1.2. RUN | 대상 이미지들 을 임시 컨테이너의 최하위 레이어 위에 레이업합니다.
    1.3. CMD | 쌓인 레이어 들을 기반으로 실행할 명령어들을 명시합니다.

  3. 임시 컨테이너 내부의 새로운 파일 들의 스냅샷 생성

  4. 새로운 이미지 생성 후 임시 컨테이너 종료

이미지 생성

Dockerfile 이 담긴 디렉퇼에서 다음의 명령어를 실행하면 됩니다.

docker build ./ 또는 docker build .

이미지 이름 지정

-t 옵션을 통해서 이름을 줄 수 있으며 다음과 같은 포맷 이 관용적입니다.

-t 내 도커 아이디/저장소/프로젝트이름:버전

docker build ./ -t unchpatered/sample:latest
profile
2022년 12월 9일 부터 노션 페이지에서 작성을 이어가고 있습니다.

0개의 댓글