Docker Image 관리, 로그인
docker image 이해와 구조 확인
- Docker 이미지 이해
- Docker Container 서비스를 위한 이미지는 Container 런타임에 필요한 바이너리, 라이브러리 및 설정 값 등을 포함하고, 변경되는 상태값을 보유하지 않고(stateless) 변하지 않음(Immutable, Read-Only)
- 상태 저장 없음(Stateless): 애플리케이션과 관련된 모든 파일과 라이브러리를 포함하고 있기 때문에, 다른 환경에서도 동일한 애플리케이션을 실행 가능.
- 불변성(Immutable): 이미지가 한번 생성되면 변경할 수 없는 것을 의미.
- 도커 이미지는 필요한 파일만 포함하고 있기 때문에, 용량이 작으며, 이미지를 변경할 필요가 있을 경우에는 새로운 이미지를 생성 필요

docker pull: Docker 이미지 내려받기

# docker [image] pull [options] name:[tag]
# 최초에는 docker.io가 default registry로 설정됨.
docker pull debian (latest)
# 현재는 다르게 받을수 있다.
docker pull library/debian:10
docker pull docker.io/library/debian:10
docker pull index/docker.io/library/debian:10
docker pull nginx:latest
# private registry 나 클라우드(회사) 저장소의 이미지를 받는 경우
# 현재는 실제로 동작하지 않음
docker pull 192.168.0.101:5000/debian:10
docker pull gcr.io/google-samples/hello-app:1.0
Docker 이미지 구조 확인
docker image inspect nginx:latest

여러가지 형태로 뽑아낼수 있다.
docker image inspect --format="{{.Os}}" nginx:latest

docker image inspect --format="{{.RepoTags}}" nginx:latest

docker image inspect --format="{{.ContainerConfig.ExposedPorts}}" nginx:latest
map[80/tcp:{}]
docker image inspect --format="{{.RepoTags}} {{.Os}}" nginx:latest

docker image history nginx:latest
여러 개의 계층 구조로 구성

도커 로그인
docker login

docker logout

도커 뎃그크탑에 보면 다운받은 이미지랑 컨테이너들이 올라와 있음.