Container와 Container Image 구조
![](https://velog.velcdn.com/images/99winnmin/post/d0eced66-fa8c-41c7-9fa2-3d857ce90dc6/image.png)
- Container는 하나의 Application 프로세스
- 각각 완전히 독립적임
docker HOST란
docker Demon이 동작되고 있는 Linux Kernel이 있는 시스템
-> container를 실행할 수 있는 플랫폼을 구성해놓았다는 뜻
-> kernel은 하나이지만 docker process는 여러개 구성할 수 있음
Container 구조
![](https://velog.velcdn.com/images/99winnmin/post/990d1b46-a460-43ad-b1c5-2b9275a0c199/image.png)
1. 컨테이너 안에 필요한 기반 라이브러리, 소스코드, 실행 코드 적재
2. 각 구성별로 레이어를 구성
3. 레이어의 uuid 세팅 및 사이즈 구성 -> Container Image가 됨(file 형태로 저장됨) + image는 하나이지만 그 안에 layer 별로 file이 따로 존재
-> 이런 image를 application process로 실행하면 container가 되는 것임
[최종정리] Container image는 disk에 저장된 file임, 이 file이 process로 실행된 것이 Container
Container 동작 방식
- Docker Host에서 Docker Demon이 running 중
- docker search nginx : docker는 도커 허브에 nginx 컨테이너가 있는지 문의
- 있으면 docker pull nginx:latest 명령어로 image를 가져오게 됨
- docker run(create|start) -d --name web -p 80:80 nginx:latest : image를 container화 시킴 -> nginx라는 process를 실행하게됨
Docker 주요 용어
- Docker Host(Linux Kernel)
- Docker Daemon : systemctl start docker
- Docker Client Command : docker
- Docker Hub (10만개가 넘는 image들이 있음, 회사에서 별개로 docker hub를 운영하기도함)
- Container Images
- Container