728x90
반응형
docker 컨테이너 서비스를 위한 image
- docker image는 Container rutime에 필요한 바이너리, 라이브러리 및 설정 값 등을 포함하고, 변경되는 상태 값을 보유하지 않고(stateless) 변하지 않는다.
이미지 내려 받기
- Docker는 hub.docker.com(docker.io)으로 부터 이미지를 제공 받거나 제공한다.
- 기업의 인프라에 개별적인 Private registry 서버를 두고, 이곳에 이미지를 pull/push 하기도 한다.
# docker [image] pull [options] name:[tag]
# 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 image inspect:생성된 image의 내부 구조 정보를 JSON 형태로 제공
!!! 주요 정보 !!!
- image ID : "Id"
- 생성일 : "Created"
- Docker 버전 : "DockerVersion"
- CPU 아키텍처 : "Architecture"
- 이미지 다이제스트 정보 "RootFS"
- 이미지 레이어 저장 정보 : "GraphDriver"
# docker image inspect httpd:2.4
[
{
"Id": "sha256:59bcd61b45fd94a7f19314d259effc3da8b42a0e157263af2246a22c07e96595",
"RepoTags": [
"httpd:2.4"
],
"RepoDigests": [
"httpd@sha256:bf3df534d25718ac5b206f6705ebd157f9ed5d62687766aa058556ed4b760027"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2024-01-16T18:41:26Z",
"Container": "",
......
!!! 정보를 원하는 부분만 보고 싶을 떄
# docker image inspect --format="{{.Os}}" httpd:2.4
linux
# docker image inspect --format="{{.RepoTags}}" httpd:2.4
[httpd:2.4]
# docker image inspect --format="{{.Id}}" httpd:2.4
sha256:59bcd61b45fd94a7f19314d259effc3da8b42a0e157263af2246a22c07e96595
# docker image inspect --format="{{.ContainerConfig.ExposedPorts}}" httpd:2.4
map[]
# docker image inspect --format="{{.RepoTags}} {{.Os}}" httpd:2.4
[httpd:2.4] linux
!!! docker history: docker image는 Dockerfile을 통해 build 됨. history는 이 정보를 제공
# docker image history httpd:2.4
IMAGE CREATED CREATED BY SIZE COMMENT
59bcd61b45fd 8 weeks ago CMD ["httpd-foreground"] 0B buildkit.dockerfile.v0
<missing> 8 weeks ago EXPOSE map[80/tcp:{}] 0B buildkit.dockerfile.v0
<missing> 8 weeks ago COPY httpd-foreground /usr/local/bin/ # buil… 138B buildkit.dockerfile.v0
<missing> 8 weeks ago STOPSIGNAL SIGWINCH 0B buildkit.dockerfile.v0
<missing> 8 weeks ago RUN /bin/sh -c set -eux; savedAptMark="$(a… 81.7MB buildkit.dockerfile.v0
<missing> 8 weeks ago ENV HTTPD_PATCHES= 0B buildkit.dockerfile.v0
<missing> 8 weeks ago ENV HTTPD_SHA256=fa16d72a078210a54c47dd5bef2… 0B buildkit.dockerfile.v0
<missing> 8 weeks ago ENV HTTPD_VERSION=2.4.58 0B buildkit.dockerfile.v0
<missing> 8 weeks ago RUN /bin/sh -c set -eux; apt-get update; a… 10.3MB buildkit.dockerfile.v0
<missing> 8 weeks ago WORKDIR /usr/local/apache2 0B buildkit.dockerfile.v0
<missing> 8 weeks ago RUN /bin/sh -c mkdir -p "$HTTPD_PREFIX" && … 0B buildkit.dockerfile.v0
<missing> 8 weeks ago ENV PATH=/usr/local/apache2/bin:/usr/local/s… 0B buildkit.dockerfile.v0
<missing> 8 weeks ago ENV HTTPD_PREFIX=/usr/local/apache2 0B buildkit.dockerfile.v0
<missing> 8 weeks ago /bin/sh -c #(nop) CMD ["bash"] 0B
<missing> 8 weeks ago /bin/sh -c #(nop) ADD file:af0f4e41d68b67ca8… 74.8MB
!!! docker pull 명령어로 이미지를 받을 때 이미지 계층(layer) 구조라는 것을 보여준다.
!!! download 된 layer들은 distribution ID 를 부여 받고 docker 전용 경로에 저장된다.
# cd /var/lib/docker/image/overlay2/distribution/diffid-by-digest/sha256
반응형
'DevOps' 카테고리의 다른 글
docker registry 구성과 관리 (0) | 2024.03.25 |
---|---|
docker hub repositories에 image push (0) | 2024.03.19 |
최신 docker 엔진(ver) update (0) | 2024.03.14 |
02. docker 컨테이너 가상화 & VM 가상화 (1) | 2024.03.13 |
01. 컨테이너 기술이란? (0) | 2024.03.13 |