>  기사  >  운영 및 유지보수  >  Docker 이미지를 가져와 배치하는 위치를 확인하세요.

Docker 이미지를 가져와 배치하는 위치를 확인하세요.

PHPz
PHPz원래의
2023-05-13 18:41:375731검색

Docker는 애플리케이션을 구축, 게시 및 실행하는 데 사용할 수 있는 오픈 소스 컨테이너 기술입니다. Docker 이미지를 사용하면 사용자는 사전 구축된 애플리케이션이나 컨테이너 환경을 간단하고 빠르게 다운로드하고 설치할 수 있습니다.

Docker 이미지는 여러 레이어(Layer)로 구성되어 있으며 각 레이어에는 파일 시스템의 스냅샷이 포함되어 있습니다. 사용자가 Docker 이미지를 가져오면 실제로 Docker 레지스트리에서 이미지의 모든 레이어를 가져오고 이를 결합하여 완전한 Docker 이미지를 구축합니다.

그렇다면 Docker 이미지의 로컬 저장 위치는 어디인가요? 이번 글에서는 이에 대해 자세히 소개하겠습니다.

  1. Docker 이미지 목록 보기

먼저 현재 로컬 Docker 이미지 목록을 확인해야 합니다. 터미널에 다음 명령을 입력하세요.

docker images

실행 후 이미지 ID, 이미지 이름, 이미지 레이블, 이미지 크기 및 기타 정보를 포함하여 머신의 모든 Docker 이미지 목록이 나열됩니다. 아래 그림과 같이:

Docker images

위 그림에서 볼 수 있듯이 각 이미지에는 고유 ID, 이름 및 일부 태그(버전이라고도 함)가 있습니다. 그 중 REPOSITORY 필드는 이미지의 이름을 나타내고, TAG 필드는 이미지의 라벨을 나타내며, IMAGE ID 필드는 이미지의 고유 식별자를 나타낸다.

  1. Docker 이미지 저장 위치 보기

Docker에서는 각 이미지가 여러 레이어(Layer)로 구성되어 있습니다. 따라서 사용자가 Docker 이미지를 다운로드하거나 빌드하면 이미지의 모든 레이어가 실제로 로컬 저장소에 다운로드됩니다.

Linux 시스템에서 Docker 이미지는 실제로 /var/lib/docker 디렉터리에 저장됩니다. 터미널에 다음 명령을 입력하세요. /var/lib/docker目录下的。在终端输入下面命令:

sudo ls -l /var/lib/docker/

执行后,终端将会显示出/var/lib/docker/目录下所有的文件和文件夹列表。其中,/var/lib/docker/image文件夹是Docker储存镜像的主要位置。如下图所示:

Docker 이미지를 가져와 배치하는 위치를 확인하세요.

/var/lib/docker/image/overlay2/imagedb/content/sha256目录下,存储了所有已下载的Docker镜像(以镜像ID命名),即所有层的存储位置。在每个镜像ID目录下,都有一个名为“real”或者“diff”文件,代表该层的存储位置。

  1. 确认镜像层存储位置

对于Docker镜像的每一层,其存储位置可以通过执行下面的命令来确认:

docker history <image_name>:<tag>

例如,对于nginx镜像,执行命令:

docker history nginx:latest

将会输出以下结果:

IMAGE               CREATED             CREATED BY                                      SIZE                COMMENT
84cf8d0a2e04        3 weeks ago         /bin/sh -c #(nop)  CMD ["nginx" "-g" "daemon…   0B
<missing>           3 weeks ago         /bin/sh -c #(nop)  STOPSIGNAL SIGTERM           0B
<missing>           3 weeks ago         /bin/sh -c #(nop)  EXPOSE 80                    0B
<missing>           3 weeks ago         /bin/sh -c ln -sf /dev/stdout /var/log/nginx…   22B
<missing>           3 weeks ago         /bin/sh -c set -x  && apt-get update  && ap…   68.2MB
<missing>           3 weeks ago         /bin/sh -c #(nop)  ENV NJS_VERSION=2.1.0.6      0B
<missing>           3 weeks ago         /bin/sh -c #(nop)  ENV NGINX_VERSION=1.16.1     0B
<missing>           4 weeks ago         /bin/sh -c #(nop)  LABEL maintainer=NGINX Do…   0B
<missing>           4 weeks ago         /bin/sh -c #(nop)  CMD ["bash"]                 0B
<missing>           4 weeks ago         /bin/sh -c #(nop) ADD file:7fbfce9f6a99e63a5…   63.2MB

其中,每一层的SIZE字段表示该层的实际占用空间大小。该命令输出结果的第一列就是Docker镜像每一层的ID,从上到下依次代表镜像的各个层。

我们可以根据这个命令的输出结果,确认每一层具体的存储位置。例如,在上述命令的输出结果中,最后一列是该层的描述信息,其中包括了该层的原始命令和参数。

对于nginx镜像的第一层(ID为“84cf8d0a2e04”),该层的CMD为“CMD ["nginx" "-g" "daemon…””,即启动nginx服务;对于后面的各层,则是其它一些配置或命令。因此,我们可以大致猜测Docker镜像每一层的存储位置。

  1. 总结

通过上述命令,用户可以在Linux系统下查看本地存储的Docker镜像。Docker镜像的层以镜像ID为文件夹名存放在/var/lib/docker/image/overlay2/imagedb/content/sha256目录中。每一层分别存储在“real”或者“diff”文件中。

对于每一层镜像的存储位置,可以通过执行docker historyrrreee

실행 후 터미널에는 /var/lib/docker/ 디렉터리에 있는 모든 파일 및 폴더 목록이 표시됩니다. 그 중 /var/lib/docker/image 폴더는 Docker가 이미지를 저장하는 주요 위치입니다. 아래 그림과 같이:

Docker 저장 위치🎜🎜 / var/ 다운로드된 모든 Docker 이미지(이미지 ID로 이름 지정)는 모든 레이어의 저장 위치인 lib/docker/image/overlay2/imagedb/content/sha256 디렉터리에 저장됩니다. 각 이미지 ID 디렉터리에는 이 레이어의 저장 위치를 ​​나타내는 "real" 또는 "diff"라는 파일이 있습니다. 🎜
    🎜이미지 레이어 저장 위치 확인🎜🎜🎜Docker 이미지의 각 레이어에 대해 다음 명령을 실행하여 저장 위치를 ​​확인할 수 있습니다. 🎜rrreee🎜예를 들어, nginx 이미지의 경우, 🎜rrreee🎜 명령을 실행하면 다음과 같은 결과가 출력됩니다. 🎜rrreee🎜 그 중 각 레이어의 SIZE 필드는 해당 레이어가 차지하는 실제 공간을 나타냅니다. 이 명령 출력의 첫 번째 열은 Docker 이미지의 각 레이어 ID로, 이미지의 각 레이어를 위에서 아래로 나타냅니다. 🎜🎜이 명령의 출력을 기반으로 각 레이어의 구체적인 저장 위치를 ​​확인할 수 있습니다. 예를 들어, 위 명령의 출력에서 ​​마지막 열은 레이어에 대한 설명 정보이며, 여기에는 레이어의 원래 명령과 매개변수가 포함됩니다. 🎜🎜nginx 이미지의 첫 번째 레이어(ID는 "84cf8d0a2e04")의 경우 이 레이어의 CMD는 "CMD ["nginx" "-g" "daemon...""입니다. 이는 nginx 서비스 시작을 의미합니다. 후속 레이어는 다른 구성이나 명령입니다. 따라서 Docker 이미지의 각 레이어가 어디에 저장되어 있는지 대략적으로 추측할 수 있습니다. 🎜
      🎜Summary🎜🎜🎜위 명령을 사용하면 사용자는 Linux 시스템에서 로컬로 저장된 Docker 이미지를 볼 수 있습니다. Docker 이미지의 레이어는 이미지 ID를 폴더 이름으로 하여 /var/lib/docker/image/overlay2/imagedb/content/sha256 디렉터리에 저장됩니다. 각 레이어는 각각 "실제" 또는 "diff" 파일에 저장됩니다. 🎜🎜이미지의 각 레이어 저장 위치는 docker History 명령을 실행하여 볼 수 있으며, 출력 결과에서 해당 레이어의 설명 정보를 찾아 대략적으로 추측할 수 있습니다. 레이어의 저장 위치. 🎜🎜Docker 이미지와 컨테이너를 사용할 때 Docker 이미지의 저장 위치를 ​​이해하면 로컬 저장 공간을 더 잘 관리할 수 있을 뿐만 아니라 Docker 이미지와 컨테이너를 백업 및 복원할 수 있습니다. 🎜

위 내용은 Docker 이미지를 가져와 배치하는 위치를 확인하세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:도커 시작 실패다음 기사:도커 시작 실패