• [[#도커 이미지 생성 순서]]
  • [[#Docker File 만들기]]
  • [[#Dockerfile로 DockerImage 만들기]]
  • [[#임시 컨테이서 생성 후 삭제하는 과정]]
  • [[#도커 이미지 이름 부여하여 생성하기]]

도커 이미지 생성 순서


docker file 이란

- 도커 이미지를 만들기 위한 설정 파일
- 컨테이너가 어떻게 행동해야 하는지에 대한 설정을 정의하는 곳 ps. 도커 이미지가 필요한 것이 무엇인지를 생각하기

1. 베이스 이미지를 명시

- 파일 스냅샷에 해당 ### 2. 추가적으로 필요한 파일을 다운 받기 위한 몇 가지 명령어를 명시
- 파일 스냅샷에 해당 ### 3. 컨테이너 시작 시 실행될 명령어를 명시해준다.
- 시작 시 실행될 명령어에 해당

파일 스냅샷

  • 스토리지 안에 존재하는 파일과 디렉토리를 특정 타이밍에서 추출한 것
  • 디텍토리 / 파일 등의 복사본

베이스 이미지

  • OS라고 생각하면 됨

Docker File 만들기

1. 도커 파일을 만들 폴더 생성

2. 폴더를 에디터로 열기

3. new file 생성 ‘Dockerfile’

4. 기본적 명시

FROM

이미지 생성 시 기반이 되는 레이어 이미지 이름 : 태그(버전) 형식으로 작성 ex. ubuntu : 14.04 태그를 안붙이면 자동적으로 가장 최신 것으로 다운로드 npm i 시에 버전 정보를 입력 안하면 최신판으로 설치되는 것과 동일

RUN

도커 이미지가 생성되기 전에 수행할 shell 명령어

CMD

컨테이너가 시작되었을 때 실행할 실행파일 또는 Shell script 해당 명령어는 Dockerfile 내부에서 1회만 사용가능


예제 alpine 이미지 생성 예시


Dockerfile로 DockerImage 만들기

1. dockerfile이 있는 해당 디렉토리 접근 후 ‘docker build ./’

build 과정

Step 1/2

  • alpine 이미지 docker hub에서 가져오기
  • id : 04eeaa5f8c35

Step 2/2

  • 임시컨테이너 생성 > eac9cb4d4c0f
  • 임시 컨테이너에서 새로운 이미지생성 후 임시 컨테이너 삭제 > eac9cb4d4c0f
  • 이미지 생성 아이디 표시 bb361aebf877

임시 컨테이서 생성 후 삭제하는 과정


도커 이미지 이름 부여하여 생성하기

$ docker build -t ‘나의 도커 아이디’ / 저장소 또는 프로젝트명 : 태그(버전) ./

error

이유 : 도커 파일 작성시 CMD 부분 [’ ‘] 은 인식을 못함 [” “] 큰 따옴표 사용하여 이미지 재성시 정상 작동