Docker

도커 이미지 내부 파일 구조 보기

sejin2 2024. 5. 11. 18:39

도커 이미지

ex) docker run hello-world

작동 순서

  1. 도커 클라이언트에 명령어 입력 후 도커 서버로 보냄
  2. 도커 서버에서 컨테이너를 위한 이미지가 이미 캐시되어 있는지 확인
  3. 없으면 도커 허브에서 다운 받아오고 있으면 이미 가지고 있는 이미지로 컨테이너 생성

이미지로 컨테이너 생성하는 순서

  1. 먼저 파일 스냅샷 되어있는 것을 컨테이너의 하드 디스크 부분에 올린다.
  2. 시작 커맨드를 이용하여 어플리케이션을 실행한다.

docker run alpine ls

Alpine 이미지를 이용해서 컨테이너를 생성

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

이미지 이름 뒤에 다른 명령어를 더 붙여서 원래 이미지 안에 들어있는 기본 커멘드는 무시가 되고 ls 명령어가 실행 됨

이번에는 Alpine 대신에 hello-world를 사용하면 에러가 나는 것을 볼 수 있다. 

왜 Alpine에서는 ls명령어가 사용되고 hello-world는 안되지?
⇒ Alpine에는 많은 파일들이 하드디스크 안에 있어서 그 안에 ls를 사용 가능하게 하는 파일이 있음
hellow-world 이미지로는 ls 명령어 사용 불가능 ⇒ ls를 사용할 수 있는 파일이 없기 때문에 에러가 발생
따라서 하드 디스크에 어떠한 파일이 있느냐에 따라 사용할 수 있는 커맨드가 있다.

 

 

도표 출처 및 공부 내용 : 인프런 - 따라하며 배우는 도커와 CI환경 ( John Ann ) 

'Docker' 카테고리의 다른 글

도커 컨테이너의 생명주기  (0) 2024.05.12
컨테이너들 나열하기  (0) 2024.05.12
도커와 기존 가상화 기술과의 차이  (0) 2024.05.11
도커의 사용 흐름  (0) 2024.05.11
윈도우에 도커 설치하기  (0) 2024.05.11