스택큐힙리스트

호스트 머신에 Docker 이미지가 저장되는 위치는 어디인가요? 본문

카테고리 없음

호스트 머신에 Docker 이미지가 저장되는 위치는 어디인가요?

스택큐힙리스트 2023. 11. 20. 15:26
반응형

나는 디렉토리 /var/lib/docker/containers 아래에 컨테이너를 찾을 수 있었지만, 이미지를 찾을 수 없습니다.


/var/lib/docker 아래의 디렉토리와 파일은 무엇입니까?

답변 1

-s 또는 --storage-driver= 옵션을 사용하여 Docker 데몬에 저장 드라이버를 수동으로 설정할 수 있습니다.



  • /var/lib/docker/{driver-name}에는 이미지 내용의 드라이버별 저장소가 포함됩니다.

  • /var/lib/docker/graph/<id>에는 이미지에 대한 메타데이터만이 포함되며, jsonlayersize 파일이 포함됩니다.


aufs의 경우:



  • /var/lib/docker/aufs/diff/<id>에는 이미지의 파일 내용이 포함되어 있습니다.

  • /var/lib/docker/repositories-aufs는 로컬 이미지 정보가 포함된 JSON 파일입니다. 이 정보는 docker images 명령으로 확인할 수 있습니다.

devicemapper의 경우:



  • /var/lib/docker/devicemapper/devicemapper/data는 이미지를 저장합니다.

  • /var/lib/docker/devicemapper/devicemapper/metadata는 메타데이터를 저장합니다.

  • 이 파일들은 sparse 파일로 얇게 프로비저닝되어 있으므로 보이는 것보다 크기가 작습니다.

답변 2

도커 이미지(Docker images)는 호스트 머신의 어디에 저장되는 것일까요? 이에 대해 알아보도록 하겠습니다.
도커(Docker)는 오픈 소스 컨테이너화 플랫폼으로, 애플리케이션을 환경과 함께 격리된 컨테이너로 묶어 실행하고 배포할 수 있게 도와줍니다. 도커 이미지는 이러한 컨테이너들의 기반이 되는 파일 시스템입니다.
기본적으로 도커 이미지는 호스트 머신의 특정한 경로에 저장됩니다. 하지만 도커는 운영 체제에 따라 이미지 저장 위치가 달라질 수 있습니다. 일반적으로는 리눅스 환경에서는 도커 이미지가 /var/lib/docker 디렉토리에 저장되고, 윈도우에서는 C:\ProgramData\Docker 디렉토리에 저장됩니다.
도커 이미지 저장 위치를 변경하는 것도 가능합니다. 도커는 dockerd라는 데몬 프로세스를 실행하여 동작하는데, 이때 -g 또는 --data-root 옵션을 사용하여 이미지 저장 위치를 변경할 수 있습니다. 예를 들어, 리눅스 환경에서 dockerd 프로세스를 /mnt/docker-data 디렉토리에서 실행하고자 한다면, 다음과 같이 명령을 실행할 수 있습니다.
```
sudo dockerd -g /mnt/docker-data
```
이렇게 하면 도커 이미지는 /mnt/docker-data 디렉토리에 저장되게 됩니다.
도커 이미지는 여러 개의 레이어로 구성되어 있습니다. 이 레이어들은 호스트 머신의 파일 시스템에 저장되며, 각각은 해당 레이어에 대한 변경 사항을 나타냅니다. 따라서, 이미지의 사용자는 도커 이미지를 구성하는 레이어를 직접 수정하거나 삭제할 수는 없습니다. 이미지는 읽기 전용으로 존재하며, 변경 사항은 컨테이너를 생성할 때마다 새로운 레이어에 저장됩니다.
이렇게 도커 이미지는 호스트 머신의 특정한 경로에 저장되며, 이를 통해 도커는 빠른 컨테이너 생성과 관리를 가능하게 해줍니다. 도커는 일반적으로 클라우드 기반의 환경에서 많이 사용되며, 이미지의 저장 위치를 유연하게 변경할 수 있는 기능을 제공하여 효율적이고 편리한 운영을 지원합니다.

반응형
Comments