본문 바로가기
개발환경

[개발환경 - 도커(5)] 도커 이미지 만들기 / Create docker images - 개발하는 지토

by 개발하는 지토 2020. 11. 21.

도커 이미지 만들기 🔨

 

도커 이미지

  1. 도커 이미지는 컨테이너를 만들기 위해 필요한 설정이나 종속성들을 가지고 있는 소프트웨어 패키지
  2. 도커 허브에서 다른 사람들이 만들어 놓은 것을 이용할 수 있고, 직접 도커 이미지를 만들어서 사용하거나 도커 허브에 업로드할 수 있음
  3. 도커 이미지를 이용해서 도커 컨테이너를 생성 ex) docker create {이미지 이름}

 

도커 이미지 생성 순서 🔢

  1. Dockerfile 작성 - 도커 이미지를 만들기 위한 설정 파일, 컨테이너가 어떻게 행동해야 하는지에 대한 설정을 정의
  2. 도커 클라이언트 - 도커 파일에 입력된 것들이 도커 클라이언트에 전달
  3. 도커 서버 - 도커 클라이언트에 전달된 모든 작업들을 하는 곳
  4. 이미지 생성

Dockerfile 만들기 🔨

 

도커 이미지를 만들기 위한 설정 파일, 컨테이너가 어떻게 해동해야 하는지에 대한 설정을 정의하는 파일

 

도커 파일 만드는 순서 🔢 (feat. 도커 이미지가 필요한 것들)

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

 

베이스 이미지란?

  • 도커 이미지를 여러개의 레이어로 되어있음
  • 이미지의 기반이 되는 부분
  • OS (window, mac, linux...)라고 생각하면 됨

도커 이미지 만들기 실습!

 

1. 도커 이미지 생성 순서 & Dockerfile 만들기

  1. 도커 파일을 만들 폴더 만들기

  2. 1에서 생성한 폴더를 Visual Studio Code를 통해 실행 ( 다른 에디터도 가능 )

  3. 파일 하나를 생성 ( 파일이름 : Dockerfile로 생성 )

  4. 그 안에 먼저 어떻게 진행할지 기본적인 토대를 명시

1. FROM : 이미지 생성시 기반이 되는 이미지 레이어

      - {이미지 이름}:{태그} 형식으로 작성

      - 태그를 안붙이면 가장 최신 버전으로 다운

 

2. RUN : 도커 이미지가 생성되기 전에 수행할 쉘 명령어

 

3. CMD : 컨테이너가 시작되었을 때 실행할 실행 파일 또는 쉘 스크립트

      - DockerFile내 1회만 쓸 수 있음

 

2. Dockerfile로 도커 이미지 만들기

  1. " docker build ./ "또는 " docker build. " 명령어를 통해 도커 클라이언트를 통해 도커 서버로 전달함
  2. bulid 명령어는 해당 디렉터리에서 dockerfile을 찾아서 도커 클라이언트에 전달함

 


build 명령어를 실행했을 때 일어나는 일

  1. 베이스 이미지를 가져옴
  2. 임시 컨테이너를 생성하고 베이스 이미지를 넣어줌
    1. 하드디스크에 파일 시스템 스냅샷 추가
    2. 시작 시 실행될 명령어를 추가
  3. 임시 컨테이너를 토대로 이미지를 생성
  4. 임시 컨테이너를 삭제

도커 이미지에 이름 주기

 

" docker build -t {도커 아이디}/{저장소/프로젝트 이름}:버전 "

 

명령어를 이용해서 Build시 명시적으로 이름을 줄 수 있다.

댓글