본문 바로가기

BackEnd/Docker

[Docker] 도커 이미지로 컨테이너 만들기

도커에서 이미지란?

  • 이미지는 응용 프로그램을 실행하는 데 필요한 모든 것을 포함하고 있다.
    - 컨테이너가 시작할 때 실행되는 명령어 
     ex) run kakaotalk
    - 카카오톡 파일 스냅숏 : 파일 스냅숏은 디렉터리나 파일을 카피한 것을 의미한다.
     ex) 컨테이너에서 카카오톡을 실행하고 싶다면 실행에 필요한 스냅숏이 필요하다.

이미지로 컨테이너를 만드는 순서

  1. Docker 클라이언트에 docker <이미지> 명령어를 입력해 준다.
  2. 도커 이미지에 있는 파일 스냅샷을 컨테이너 하드 디스크에 옴겨 준다.
  3.  이미지에서 가지고 있는 명령어(컨테이너가 실행될 때 사용될 명령어)를 이용해서 카카오톡을 실행시켜 준다.

docker run hello-world 작동 순서

  1. 도커 클라이언트에 명령어 입력 후 도커 서버로 보낸다.
  2. 도커 서버에서 컨테이너를 위한 이미지가 이미 캐쉬 되어 있는지 확인한다.
  3. 캐쉬 유무에 따라 허브에서 다운 받을지를 결정하고 해당 이미지로 컨테이너를 생성한다.

 

이미지 내부 파일 시스템 구조 보기

 

 ex) docker run alpine ls

 

실행 순서 요약

 1. Alpine 이미지를 이용해서 컨테이너를 생성한다.

 2. 생성할 때 Alpine 이미지 안에 파일 스냅샷들(bin, dev, etc 등)이
    컨테이너 안에 있는 하드 디스크로 다운로드 된다.

 3. 이미지 이름 뒤에 다른 명령어를 더 붙여 원래 이미지 안에 들어있는

    기본 커맨드는 무시되고 ls 명령어가 실행된다.