본문 바로가기

카테고리 없음

[docker] 도커 이미지 Layer

docker images

 

docker info

Client:
 Context:    default
 Debug Mode: false
 Plugins:
  app: Docker App (Docker Inc., v0.9.1-beta3)
  buildx: Build with BuildKit (Docker Inc., v0.5.0-docker)

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 2
 Server Version: 20.10.6
 Storage Driver: overlay2  # 실제 스토리지가 설치되어 있는 드라이버
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 05f951a3781f4f2c1911b05e61c160e9c30eaa8e
 runc version: 12644e614e25b05da6fd08a38ffa0cfe1903fdec
 init version: de40ad0
 Security Options:
  apparmor
  seccomp
   Profile: default
 Kernel Version: 5.8.0-59-generic
 Operating System: Ubuntu 20.04.2 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 2
 Total Memory: 7.747GiB
 Name: ubuntu
 ID: YFTR:Y2BA:FTMT:I5N6:TXSF:CSSX:5DB6:KLYI:FGQN:YLOS:5SAM:SLH7
 Docker Root Dir: /var/lib/docker  # 어느 디렉토리에 도커가 설치되어 있는지
 Debug Mode: false
 Username: lotty02cho
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

 

 

 

디렉토리 사이즈 잴수 있는 명령어 (du -sh 디렉토리)

 

도커 이미지 정보 확인

docker inspect nginx:latest
[
   {
      "Id":"sha256:08b152afcfae220e9709f00767054b824361c742ea03a9fe936271ba520a0a4b",
         ↖ 이미지가 가지는 해시값, cf. 알고리즘을 통해 겹치지않는 스트링값을 만들어줌
      "RepoTags":[
         "nginx:latest"
      ],
      "RepoDigests":[
         "nginx@sha256:8f335768880da6baf72b70c701002b45f4932acae8d574dedfddaf967fc3ac90"
      ],
      "Parent":"",
      "Comment":"",
      "Created":"2021-07-22T10:13:19.618829582Z", ←만들어진 시간
      "Container":"2997e2321de26e96aff43069d29f2d683a6c98fe395084cd3ca90721bc3e748a",
      "ContainerConfig":{
         "Hostname":"2997e2321de2", ← 호스트 네임
         "Domainname":"",
         "User":"",
         "AttachStdin":false,
         "AttachStdout":false,
         "AttachStderr":false,
         "ExposedPorts":{
            "80/tcp":{ ← 서비스할 포트
               
            }
         },
         "Tty":false,
         "OpenStdin":false,
         "StdinOnce":false,
         "Env":[ ← 환경변수 설정
            "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
            "NGINX_VERSION=1.21.1",
            "NJS_VERSION=0.6.1",
            "PKG_RELEASE=1~buster"
         ],
         "Cmd":[ ← 컨테이너로 바꿔서 실행을 돌릴 때, 어떤 프로세스를 어떻게 실행할지 
            "/bin/sh",
            "-c",
            "#(nop) ",
            "CMD [\"nginx\" \"-g\" \"daemon off;\"]"
         ],
         "Image":"sha256:6b7d95b7a3922d21287da04a02bac3bb129b38e7c96dc39b1be5da89d12de9ba",
         "Volumes":null,
         "WorkingDir":"",
         "Entrypoint":[
            "/docker-entrypoint.sh"
         ],
         "OnBuild":null,
         "Labels":{
            "maintainer":"NGINX Docker Maintainers <docker-maint@nginx.com>"
         },
         "StopSignal":"SIGQUIT"
      },
      "DockerVersion":"20.10.7",
      "Author":"",
      "Config":{
         "Hostname":"",
         "Domainname":"",
         "User":"",
         "AttachStdin":false,
         "AttachStdout":false,
         "AttachStderr":false,
         "ExposedPorts":{
            "80/tcp":{
               
            }
         },
         "Tty":false,
         "OpenStdin":false,
         "StdinOnce":false,
         "Env":[
            "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
            "NGINX_VERSION=1.21.1",
            "NJS_VERSION=0.6.1",
            "PKG_RELEASE=1~buster"
         ],
         "Cmd":[
            "nginx",
            "-g",
            "daemon off;"
         ],
         "Image":"sha256:6b7d95b7a3922d21287da04a02bac3bb129b38e7c96dc39b1be5da89d12de9ba",
         "Volumes":null,
         "WorkingDir":"",
         "Entrypoint":[
            "/docker-entrypoint.sh"
         ],
         "OnBuild":null,
         "Labels":{
            "maintainer":"NGINX Docker Maintainers <docker-maint@nginx.com>"
         },
         "StopSignal":"SIGQUIT"
      },
      "Architecture":"amd64",
      "Os":"linux",
      "Size":133175501,
      "VirtualSize":133175501,
      "GraphDriver":{
         "Data":{
            "LowerDir":"/var/lib/docker/overlay2/5fce17522d20ffc3e7622fbfd6c0271fef96b26451c966402d111d1d3ca703b1/diff:/var/lib/docker/overlay2/13f732783ee80eba5669f4afce016a0e4d7450268f72c8df384ee09291a7e6e3/diff:/var/lib/docker/overlay2/104d93d563fab44286f091e91f1a0f5593925017db5f81567ee459c1b16f2c2e/diff:/var/lib/docker/overlay2/46f94dc44ec9fc35f87f309245e6ee4d3a5544db0678f76d5e48924cf3eea02e/diff:/var/lib/docker/overlay2/fa9f83cd15eb6c61172a801301190d3701db674cb62e59e763b56a3934012eb3/diff",
            "MergedDir":"/var/lib/docker/overlay2/f1f3d40d8b907d47541b240583c9669a1c2592f5ad23926837c956700e0d1dda/merged",
            "UpperDir":"/var/lib/docker/overlay2/f1f3d40d8b907d47541b240583c9669a1c2592f5ad23926837c956700e0d1dda/diff",
            "WorkDir":"/var/lib/docker/overlay2/f1f3d40d8b907d47541b240583c9669a1c2592f5ad23926837c956700e0d1dda/work"
         },
         "Name":"overlay2"
      },
      "RootFS":{ ← 실제 파일시스템을 구성해주는 부분
         "Type":"layers",
         "Layers":[
            "sha256:814bff7343242acfd20a2c841e041dd57c50f0cf844d4abd2329f78b992197f4",
            "sha256:7c0b223167b96d7deaacf1e1d2d35892166645b09b17bcc8675a4d882ef84893",
            "sha256:59b01b87c9e7f668b740d23eb872c5964636c33aef795f1186f08b172197bc35",
            "sha256:988d9a3509bbb7ea8037d4eba3a5e0ada5dc165144c8ff0df89c0048d1ac6132",
            "sha256:b857347059916922b353147882544f17bb96e64c639081c0677bf386c446be4f",
            "sha256:e3135447ca3e69c6975aee1621c406e3865e0e143c807bbdcf05abefa56054a2"
         ]
      },
      "Metadata":{
         "LastTagTime":"0001-01-01T00:00:00Z"
      }
   }
]