도커 이미지
ex) docker run hello-world
작동 순서
- 도커 클라이언트에 명령어 입력 후 도커 서버로 보냄
- 도커 서버에서 컨테이너를 위한 이미지가 이미 캐시되어 있는지 확인
- 없으면 도커 허브에서 다운 받아오고 있으면 이미 가지고 있는 이미지로 컨테이너 생성
이미지로 컨테이너 생성하는 순서
- 먼저 파일 스냅샷 되어있는 것을 컨테이너의 하드 디스크 부분에 올린다.
- 시작 커맨드를 이용하여 어플리케이션을 실행한다.
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 |