Docker

Docker - 이미지(Image)

Namiz_IT 2024. 7. 30. 11:39

이미지(Image)란 무엇인가?

컨테이너 이미지는 컨테이너를 실행하는 데 필요한 모든 파일, 바이너리, 라이브러리 및 구성을 포함하는 표준화된 패키지이다. 파일의 구성 및 어떻게 환경이 공유되는 지 이미지를 보면 알 수 있다.

 

이미지의 두 가지 중요한 원칙

  1. 이미지는 변경할 수 없습니다. 이미지가 생성되면 수정할 수 없다. 새 이미지를 만들거나 그 위에 변경 사항을 추가할 수만 있다.
  2. 컨테이너 이미지는 레이어로 구성된다. 각 레이어는 파일을 추가, 제거 또는 수정하는 파일 시스템 변경 세트를 나타낸다.

이미지 찾기

Docker Hub는 이미지를 저장하고 배포하기 위한 기본 글로벌 마켓플레이스이다. 개발자가 만든 100,000개 이상의 이미지가 있으며 로컬에서 실행할 수 있다. Docker Hub 이미지를 검색하여 Docker Desktop에서 직접 실행할 수 있다.

Docker Hub는 Docker Trusted Content라고 알려진 다양한 Docker 지원 및 보증 이미지를 제공한다. 이는 완전히 관리되는 서비스 또는 자체 이미지에 대한 훌륭한 시작점을 제공한다.

  • Docker 공식 이미지 - Docker 저장소의 큐레이션된 세트로, 대부분 사용자의 시작점 역할을 하며 Docker Hub에서 가장 안전한 이미지 중 하나이다.
  • Docker Verified Publishers - Docker에서 검증한 상업 게시자의 고품질 이미지
  • Docker가 후원하는 오픈 소스 - Docker의 오픈 소스 프로그램을 통해 Docker가 후원하는 오픈 소스 프로젝트에서 게시 및 유지 관리하는 이미지

예를 들어 Redis  Memcached는 몇 가지 인기 있는 바로 사용 가능한 Docker 공식 이미지이다. 이러한 이미지를 다운로드하여 몇 초 만에 이러한 서비스를 가동할 수 있다. Node.js Docker 이미지와 같은 기본 이미지도 있는데, 이를 시작점으로 사용하여 고유한 파일과 구성을 추가할 수 있다.


이미지 검색 및 다운로드

  1. 터미널을 열고 다음 docker search명령을 사용하여 이미지를 검색해보자. 다음과 같이 출력된다. 이 출력은 Docker Hub에서 사용할 수 있는 관련 이미지에 대한 정보를 보여줍니다.
  2. docker pull 명령을 사용하여 이미지를 가져온다.
  3. docker pull docker/welcome-to-docker
  4. NAME                       DESCRIPTION                                     STARS     OFFICIAL
    docker/welcome-to-docker   Docker image for new users getting started w…   20
    
  5. docker search docker/welcome-to-docker
    
  6. docker pull 명령을 사용하여 이미지를 가져온다. 다음과 같은 출력이 표시된다.각 줄은 이미지의 다른 다운로드된 레이어를 나타낸다. 각 레이어는 파일 시스템 변경 사항의 집합이며 이미지의 기능을 제공한다는 점을 기억하자.
  7. Using default tag: latest
    latest: Pulling from docker/welcome-to-docker
    579b34f0a95b: Download complete
    d11a451e6399: Download complete
    1c2214f9937c: Download complete
    b42a2f288f4d: Download complete
    54b19e12c655: Download complete
    1fb28e078240: Download complete
    94be7e780731: Download complete
    89578ce72c35: Download complete
    Digest: sha256:eedaff45e3c78538087bdd9dc7afafac7e110061bbdd836af4104b10f10ab693
    Status: Downloaded newer image for docker/welcome-to-docker:latest
    docker.io/docker/welcome-to-docker:latest
    
  8. docker pull docker/welcome-to-docker
    

이미지에 대해 알아보자

  1. docker image ls  명령을 사용하여 다운로드한 이미지를 나열해보자. 다음과 같은 출력된다. 이 명령은 현재 시스템에서 사용할 수 있는 Docker 이미지 목록을 보여준다. docker/welcome-to-docker총 크기는 약 29.7MB이다.
  2. docker image ls
  3. 여기에 표시된 이미지 크기는 레이어의 다운로드 크기가 아닌, 압축되지 않은 이미지 크기를 나타낸다.
  4. REPOSITORY                 TAG       IMAGE ID       CREATED        SIZE
    docker/welcome-to-docker   latest    eedaff45e3c7   4 months ago   29.7MB
    
  5. docker image history 명령을 사용하여 이미지의 레이어를 나열한다.  명령어를 실행하면 모든 레이어, 크기, 레이어를 만드는 데 사용된 명령을 출력한다.
  6. IMAGE          CREATED        CREATED BY                                      SIZE      COMMENT
    648f93a1ba7d   4 months ago   COPY /app/build /usr/share/nginx/html # buil…   1.6MB     buildkit.dockerfile.v0
    <missing>      5 months ago   /bin/sh -c #(nop)  CMD ["nginx" "-g" "daemon…   0B
    <missing>      5 months ago   /bin/sh -c #(nop)  STOPSIGNAL SIGQUIT           0B
    <missing>      5 months ago   /bin/sh -c #(nop)  EXPOSE 80                    0B
    <missing>      5 months ago   /bin/sh -c #(nop)  ENTRYPOINT ["/docker-entr…   0B
    <missing>      5 months ago   /bin/sh -c #(nop) COPY file:9e3b2b63db9f8fc7…   4.62kB
    <missing>      5 months ago   /bin/sh -c #(nop) COPY file:57846632accc8975…   3.02kB
    <missing>      5 months ago   /bin/sh -c #(nop) COPY file:3b1b9915b7dd898a…   298B
    <missing>      5 months ago   /bin/sh -c #(nop) COPY file:caec368f5a54f70a…   2.12kB
    <missing>      5 months ago   /bin/sh -c #(nop) COPY file:01e75c6dd0ce317d…   1.62kB
    <missing>      5 months ago   /bin/sh -c set -x     && addgroup -g 101 -S …   9.7MB
    <missing>      5 months ago   /bin/sh -c #(nop)  ENV PKG_RELEASE=1            0B
    <missing>      5 months ago   /bin/sh -c #(nop)  ENV NGINX_VERSION=1.25.3     0B
    <missing>      5 months ago   /bin/sh -c #(nop)  LABEL maintainer=NGINX Do…   0B
    <missing>      5 months ago   /bin/sh -c #(nop)  CMD ["/bin/sh"]              0B
    <missing>      5 months ago   /bin/sh -c #(nop) ADD file:ff3112828967e8004…   7.66MB
    
  7. docker image history docker/welcome-to-docker
    

참조

https://www.oreilly.com/library/view/docker-up/9781098131814/

 

Docker: Up & Running, 3rd Edition

Docker and Linux containers have fundamentally changed the way that organizations develop, deliver, and run software at scale. But understanding why these tools are important and how they can be … - Selection from Docker: Up & Running, 3rd Edition [Book]

www.oreilly.com

https://docs.docker.com/guides/docker-concepts/the-basics/what-is-an-image/

 

What is an image?

What is an image

docs.docker.com

 

반응형

'Docker' 카테고리의 다른 글

Docker - 컨테이너(Container)  (0) 2024.08.13
Docker란 무엇인가?  (0) 2024.07.29