호스트 시스템에서 도커 이미지는 어디에 저장됩니까?
는 에 있는 찾았습니다./var/lib/docker/containers.
입니까상의 입니까?/var/lib/docker?
은 내용./var/lib/docker디렉토리는 Docker가 스토리지에 사용하는 드라이버에 따라 달라집니다.
은 가 .aufs하지만 다시 돌아갈 수 있습니다.overlay,overlay2,btrfs,devicemapper아니면zfs커널 지원 여부에 따라 변경할 수 있습니다.e니다.aufs하지만 레드햇은 같이 갔습니다.
또는 옵션을 사용하여 저장소 드라이버를 수동으로 도커 데몬으로 설정할 수 있습니다.
/var/lib/docker/{driver-name}이미지의 내용에 대한 드라이버별 저장소가 들어 있습니다./var/lib/docker/graph/<id>이미지에 됩니다.json그리고.layersize
.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- 이 파일들은 씬 프로비저닝된 "희소" 파일이므로 보이는 것만큼 크지 않습니다.
Mac Application용 Docker를 사용하면 다음 위치에 있는 VM 내에 컨테이너가 저장되는 것으로 나타납니다.
~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2
업데이트(mmorin 제공):
2019년 1월 15일 현재 이 파일만 있는 것 같습니다.
~/Library/Containers/com.docker.docker/Data/vms/0/Docker.raw
여기에는 도커 디스크와 그 안에 있는 모든 이미지와 컨테이너가 들어 있습니다.
실제로 도커 이미지는 다음 명령에 따라 두 개의 파일에 저장됩니다.
$ docker info
:
/var/lib/docker/devicemapper/devicemapper/data:
/var/lib/docker/devicemapper/devicemapper/metadata
이것은 옛날 방식이었고, 지금은 변했습니다.2019년 현재 이 답변 무시
Mac OS X 또는 윈도우즈의 특수한 경우 boot2docker를 사용하면 boot2docker에서 관리하는 VirtualBox VM 내에 도커 이미지가 저장됩니다.
이 VM은 VirtualBox 이미지의 일반 위치에 저장됩니다.
OS X:~/VirtualBox VMs/boot2docker-vm
Windows:%USERPROFILE%/VirtualBox VMs/boot2docker-vm
를 실행하여 재설정할 수 있습니다(경고: 지금까지 빌드하고 다운로드한 모든 이미지가 삭제됩니다).
boot2docker down
boot2docker destroy
boot2docker init
boot2docker up
유용한 --rm 옵션이 없는 빌드를 빌드/디버깅할 때 수많은 중간 이미지를 유지하는 경우 특히 유용합니다. 여기에 참조용으로 인용합니다.용도:
docker build -t webapp --rm=true --force-rm=true .
대신:
docker build -t webapp .
Hyper-V를 사용하는 새로 출시된 'Docker for Windows'에서 데이터는 Docker 가상 하드 디스크에 있습니다.
C:\Users\Public\문서\Hyper-V\가상 하드 디스크\MobyLinuxVM.vhdx
도커 / 모비 리눅스 VM에 액세스하기 위해 'Hyper-V Manager'를 열 수도 있습니다.
은 됩니다./var/lib/docker/graph/<id>/layer.
이미지는 상위 이미지와 다를 뿐입니다.모 ID됩니다./var/lib/docker/graph/<id>/json.
이 할 때.docker run상감 AUFS는 을 하나의 한 파일 합니다AUFS는 모든 계층을 하나의 사용 가능한 파일 시스템으로 '병합'합니다.
Ubuntu에서는 이미지를 실행하여 "재생"할 수 있습니다.
sudo baobab /var/lib/docker
는 , 됩니다 에 저장됩니다./var/lib/docker/aufs/diff

(도커 기계를 사용하는) Docker 도구 상자를 사용하는 사용자의 경우 Mac OS X의 boot2docker에 대한 답변이 유효하지 않습니다.라고 템 VM을 "default"합니다./Users/<username>/.docker/machine/machines/default/디렉토리 입니다.
윈도우즈용 도커(원본 윈도우즈)에서 기본 컨테이너 저장소는 다음과 같습니다.
> docker info
...
Docker Root Dir: C:\ProgramData\Docker
...
도커(MAC ())를boot2docker는 )입니다. /Users/<</>UserName></>/Library/Containers/com.docker.docker/Data/
sudo docker info | grep -e "Root Dir"
여기서 답변한 대로 Mac을 사용하는 경우 다음 위치에 있습니다.
/Users/MyUserName/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2
Tristan의 답변을 확대하면 Windows with Hyper-V에서는 matuisman의 다음 단계로 이미지를 이동할 수 있습니다.
윈도우 10에서는.
- 스톱 도커 등
- 작업 표시줄 검색 상자에 "Hyper-V Manager"를 입력하고 실행합니다.
- 왼쪽 창에서 PC를 선택합니다(마인의 이름은 DESTOPK-CBP**).
- 올바른 가상 시스템을 마우스 오른쪽 버튼으로 클릭합니다(마인을 MobyLinuxVM이라고 함).
- "끄기"를 선택합니다(실행 중인 경우).
- 다시 마우스 오른쪽 단추를 누른 후 "이동"을 선택합니다.
- 지시에 따릅니다.
명령을 사용하여 시스템 전반에 걸친 정보를 표시할 수 있으며 위치는 달라질 수 있습니다.
사용 중인 스토리지 드라이버에 따라 풀 이름, 데이터 파일, 메타데이터 파일, 사용한 데이터 공간, 총 데이터 공간, 사용한 메타데이터 공간, 총 메타데이터 공간 등의 추가 정보를 표시할 수 있습니다.
데이터 파일은 이미지가 저장되는 곳이고 메타데이터 파일은 해당 이미지에 대한 메타데이터가 저장되는 곳입니다.때때 Docker가합니다하는 에서 사용 합니다.
/var/lib/docker탑재됩니다.
Ubuntu의 예는 다음과 같습니다(Root Dir 확인).
$ docker info
...
Server Version: 18.06.1-ce
Storage Driver: aufs
Root Dir: /var/snap/docker/common/var-lib-docker/aufs
...
Docker Root Dir: /var/snap/docker/common/var-lib-docker
...
다음은 Travis CI의 예입니다(Docker Root Dir 참조).
$ docker info
Server Version: 17.09.0-ce
Storage Driver: overlay2
Backing Filesystem: extfs
...
Docker Root Dir: /var/lib/docker
...
합니다.--format해당 정보를 단일 파일로 추출하는 매개 변수(예:
$ docker info --format '{{.DriverStatus}}'
[[Root Dir /var/snap/docker/common/var-lib-docker/aufs] [Backing Filesystem extfs] [Dirs 265] [Dirperm1 Supported true]]
또는:
$ docker info --format '{{json .DriverStatus}}'
[["Root Dir","/var/snap/docker/common/var-lib-docker/aufs"],["Backing Filesystem","extfs"],["Dirs","265"],["Dirperm1 Supported","true"]]
"Docker Desktop(도커 데스크톱)"의 경우 도커 시스템 트레이 아이콘을 클릭하고 "Settings(설정)"을 클릭합니다.
Advanced 탭에서는 디스크 이미지 위치를 볼 수 있습니다.
사용하다docker inspect container_id
# example.
"MergedDir": "/var/lib/docker/overlay2/f40cc2ea8912ec3b32deeef5a1542a132f6e918acb/merged
도커가 여전히 VM에서 실행 중이라는 점을 염두에 둔다면 시스템 경로는 Mac OSx 시스템이 아니라 VM과 상대적인 경로입니다.모든 것이 VM 파일에 포함되어 있다고 합니다.
/Users/MyUserName/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2
이 볼륨 옵션과 VM 호스트를 나열할 수 있는 ls 명령을 사용하여 Alpine 이미지를 실행해 보십시오.
도커 실행 --rm -it -v /:/vm-root alpine:edge ls -l /vm-root
이 후에는 다음을 시도해 보기만 하면 됩니다.
도커 실행 --rm -it -v /:/vm-root alpine:edge ls -l /vm-root /var /lib / docker
이제 VM 호스트에서 도커 폴더를 나열할 수 있습니다.
는 맥 가 에서 를됩니다 boot2docker 에 저장됩니다./Users/<USERNAME>/VirtualBox VMs/boot2docker-vm/boot2docker-vm.vmdk.
는 Windows Docker 에서입니다.%USERPROFILE%\AppData\Local\Docker
Ubuntu 사용자에 대해서만 이 질문에 답할 수 있습니다.
수 .docker info
는 "됩니다"Docker Root Dir: /var/lib/docker"
(/var/lib/docker/aufs/diff/
모든 버전의 도커에서는 이러한 것들이 동일하지 않다는 것을 기억하세요.현재 1.12.3을 사용하고 있습니다.
합니다에서 합니다./var/lib
영상은 아래 위치에 저장됩니다.
/var/lib/docker/image/overlay2/imagedb/content
ENV
OS:fedora 29 x86_64 workstation
도커:
[user@localhost ~]$ docker --version
Docker version 19.03.5, build 633a0ea838
:"DockerVersion": "18.09.7"
은 ./var/lib/docker/overlay2
나의 예
이미지 표시:
[user@localhost ~]$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
neo4j latest 8ed7463b8476 12 months ago 548MB
hello-world latest fce289e99eb9 2 years ago 1.84kB
이미지 사이즈는 548M 입니다.
의 8ed7463b8476.
[user@localhost ~]$ docker image inspect 8ed7463b8476
... ... ... ...
"DockerVersion": "18.09.7",
... ... ... ...
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2
/66dc24704d7ea5f1a5dee0bf4a5297cb78bcbd0d4b36206b8cca62cd4de7f2b1/diff:
/var/lib/docker/overlay2
/5ab91cf721359d43d01038233d397fd9ed1c4b3857c0c7d9a2dd7f2ac5eccad0/diff:
/var/lib/docker/overlay2
/e82fdf7ee3e37db0a11d9ca309245ae852425d24d6f5d3313dcf604cdddb397b/diff:
/var/lib/docker/overlay2
/9394543085d467010d0468fffb388e5616a89e2cf16c1c2b7b31aee4e542ae69/diff:
/var/lib/docker/overlay2
/c7c7a16e3dbaeea1a3a3b0bbca39f34f08f6b8ab15d753e6e68f9851c80d95b4/diff:
/var/lib/docker/overlay2
/3b470afdf8939b45159f3171f0bef2a27085b4b980e09f0c666fbdc58b944d97/diff:
/var/lib/docker/overlay2
/463ba63f79eb6b2f5466e7b71041bc346a8e9c4ebddd34d23422c719824a2340/diff",
... ... ... ...
이 폴더들의 크기를 보겠습니다.
[user@localhost ~]$ sudo du -sh /var/lib/docker/overlay2/66dc24704d7ea5f1a5dee0bf4a5297cb78bcbd0d4b36206b8cca62cd4de7f2b1
141M /var/lib/docker/overlay2/66dc24704d7ea5f1a5dee0bf4a5297cb78bcbd0d4b36206b8cca62cd4de7f2b1
[user@localhost ~]$ sudo du -sh /var/lib/docker/overlay2/5ab91cf721359d43d01038233d397fd9ed1c4b3857c0c7d9a2dd7f2ac5eccad0/
28K /var/lib/docker/overlay2/5ab91cf721359d43d01038233d397fd9ed1c4b3857c0c7d9a2dd7f2ac5eccad0/
[user@localhost ~]$ sudo du -sh /var/lib/docker/overlay2/e82fdf7ee3e37db0a11d9ca309245ae852425d24d6f5d3313dcf604cdddb397b/
100K /var/lib/docker/overlay2/e82fdf7ee3e37db0a11d9ca309245ae852425d24d6f5d3313dcf604cdddb397b/
[user@localhost ~]$ sudo du -sh /var/lib/docker/overlay2/9394543085d467010d0468fffb388e5616a89e2cf16c1c2b7b31aee4e542ae69/
310M /var/lib/docker/overlay2/9394543085d467010d0468fffb388e5616a89e2cf16c1c2b7b31aee4e542ae69/
[user@localhost ~]$ sudo du -sh /var/lib/docker/overlay2/c7c7a16e3dbaeea1a3a3b0bbca39f34f08f6b8ab15d753e6e68f9851c80d95b4/
36K /var/lib/docker/overlay2/c7c7a16e3dbaeea1a3a3b0bbca39f34f08f6b8ab15d753e6e68f9851c80d95b4/
[user@localhost ~]$ sudo du -sh /var/lib/docker/overlay2/3b470afdf8939b45159f3171f0bef2a27085b4b980e09f0c666fbdc58b944d97/
9.5M /var/lib/docker/overlay2/3b470afdf8939b45159f3171f0bef2a27085b4b980e09f0c666fbdc58b944d97/
[user@localhost ~]$ sudo du -sh /var/lib/docker/overlay2/463ba63f79eb6b2f5466e7b71041bc346a8e9c4ebddd34d23422c719824a2340/
76M /var/lib/docker/overlay2/463ba63f79eb6b2f5466e7b71041bc346a8e9c4ebddd34d23422c719824a2340/
우리는 548M에 가까운 사이즈를 볼 수 있습니다.
출력 파일에 이미지를 저장할 수도 있습니다.
[user@localhost ~]$ docker save -o neo4j.image.tar 8ed7463b8476
[user@localhost ~]$ du -sh neo4j.image.tar
528M neo4j.image.tar
우리는 패키지 파일을 추출할 수 있고 패키지 안에 있는 파일의 크기를 확인할 수 있습니다.
[user@localhost neo4j.image]$ du -sh *
16K 2f0dd5fb60a940719a3e781133611cc64c2acded03bd47e04b0997fd0c1dae50
8.7M 73819037a38eabeb7c622533e4058c84f5ff106475a1aba78a278f8b36c172f7
309M 8d31d715b324a2ae3ccb1577e981d492f40e34db6371f0858da925ef02b5762e
12K 8ed7463b84760f09b1b86a732ee6f295baaadffe72ce4fdb7ad306fe5e096bbb.json
36K 966e726ff1d9be9dca68014cda6f1ecf974365c553b82ea3834fff5d73ea593e
70M a32776b9621e916e8714389b1037bf47253a2d3d1c806ad515623d2150c92485
60K d82868a318b95466f213136f81cd7258518744da72f46ca51b04b35f2351f46a
16K e62169d79fab44bebb0a455b01af5f636bace7673a1d38fc092daad77d51cd0e
141M fe8014622f7933e178b9005deffda3eb4828703eb7eca93b5485232930e3916b
4.0K manifest.json
우리는 또한 그 폴더를 보관할 수 있습니다./var/lib/docker/overlay2/이미지 파일과 패키지 크기를 비교합니다.사이즈도 이미지 사이즈에 가깝습니다.
더 유용한 판독값:
도커 이미지 - GraphDriver의 병합/diff/work/LowerDir 구성 요소,
도커 이미지는 어디에 저장됩니까? 도커 컨테이너 경로 설명,
환경: Windows 10 Pro, 도커 데스크톱 2.0.3.0 엣지
시스템 트레이에서 도커 아이콘을 마우스 오른쪽 버튼으로 클릭하고 설정 선택 - 고급:
디스크 이미지 위치(브라우저를 통해 편집 가능):
C:\Users\Public\문서\Hyper-V\가상 하드 디스크\DockerDesktop.vhdx
(거기에 있습니다 - 문서 디렉토리가 숨겨져 있습니다.
페도라에서 도커는 사용 가능한 경우 스토리지에 LVM을 사용합니다.내 시스템에서docker info다음을 보여줍니다.
Storage Driver: devicemapper
Pool Name: vg01-docker--pool
Pool Blocksize: 524.3 kB
Base Device Size: 10.74 GB
Backing Filesystem: xfs
Data file:
Metadata file:
Data Space Used: 9.622 GB
...
이 경우 스토리지를 늘리려면 LVM 명령줄 도구나 블리벳과 같은 호환되는 파티션 관리자를 사용해야 합니다.
Windows 2016에서 도커(DockerMsftProvider)는 도커 루트 아래에 "windowfilter" 폴더를 사용합니다.
>docker info
...
Storage Driver: windowsfilter
...
Docker Root Dir: C:\ProgramData\docker
...
도커 루트 아래에 있는 "tmp" 폴더를 사용하여 파일을 다운로드하고 다운로드한 파일을 "windowfilter" 폴더로 압축을 푼 후 파일을 삭제합니다.
2021년 macOS에서 가능한 유일한 솔루션은 bash를 통해 도커 VM에 액세스한 후 로컬 구조를 확인하는 것입니다.
docker run -ti --privileged --pid=host debian nsenter -t 1 -m -u -n -i shcd /var/lib/docker/
천만에요!
사용하다docker info저장 경로를 포함한 도커의 호스트 설정을 가져오는 명령.
도커 저장소의 루트 경로만 가져오려면 다음을 사용할 수 있습니다.
docker info | grep 'Docker Root Dir:' | cut -d':' -f2 | sed 's/^ *//g'
는 기본 에 해당합니다.Ubuntu 22.04그리고.docker --version=Docker version 20.10.17, build 100c701경로를 설치합니다.
/var/lib/docker
해당 디렉토리의 내용을 다음 명령으로 크기와 함께 나열합니다.
du -h -d 1 .
결과(기타 디렉토리)를 제공합니다.
444K ./buildkit
4,0K ./containers
4,0K ./runtimes
16K ./plugins
4,0K ./trust
4,0K ./tmp
100K ./network
22M ./image
2,0G ./volumes
4,0K ./swarm
9,0G ./overlay2
중 를 할 수 .sed 끝에sed 's/$/\/image/g' 위해/image
명령:
docker info | grep 'Docker Root Dir:' | cut -d':' -f2 | sed 's/^ *//g' | sed 's/$/\/image/g'
다음을 제공:
/var/lib/docker/image
명령:
docker info | grep 'Docker Root Dir:' | cut -d':' -f2 | sed 's/^ *//g' | sed 's/$/\/overlay2/g'
다음을 제공:
/var/lib/docker/overlay2
설명할 수 있는 것처럼 수 은 되지 않습니다.image디렉토리(22M 크기) 대신 이미지의 정보입니다./var/lib/docker/image/overlay2e의 /var/lib/docker/image/overlay2/repositories.json.overlay2겹겹이 쌓아올
해당 는 () 의됩니다./var/lib/docker/overlay29,0G즈)
에 .overlay2이미지의 무거운 데이터가 저장되는 곳에는 도커가 사용하는 계층화 시스템이 있지만 이 계층화 시스템은 도커가 (현재 또는 미래에) 사용할 수 있는 많은 시스템 중 하나입니다.따라서 하드 코딩된 경로를 기준으로 하면 깨지기 쉬울 수 있습니다.
특히 이미지를 파일로 내보내거나 저장하려는 경우 전용 명령어를 찾아야 합니다.
위의 질문에서 나온 명령을 사용하면 이미지를 모두 하나의 파일에 저장하고 압축한 다음 한 번의 명령으로 다른 곳으로 가져올 수도 있습니다.
백업 생성을 위해 도커 경로를 고수하려면 항상 루트 경로를 사용하는 것이 좋습니다.
/var/lib/docker
에 의해 docker info 수 command다.
/var/lib/docker/volumes
예를 들어 데이터를 유지하기 위해 볼륨을 사용하는 데이터베이스 이미지에 의해 요구됩니다.
데비안 불안정/시드에서
docker info시스템 전반에 걸친 정보를 찾을 수 있습니다.
이미지는 다음 위치에 저장 위치/var/lib/docker/image/overlay2/imagedb/content그리고.
는 합니다./var/lib/docker/containers
18.06.0-ce, API 1.38
위 답변들을 이용하여 macos에서 Docker version 18.09로 문제를 해결하지 못하고 다시 시도하였습니다.
내가 해결할 수 있는 유일한 방법은 이것을 사용하는 것이었습니다.docker-compose.yml구성:
version: '3.7'
...
services:
demo-service:
volumes:
- data-volume:/var/tmp/container-volume
volumes:
data-volume:
driver: local
driver_opts:
type: none
o: bind
device: /tmp/host-volume
후.docker-compose up어를 ./tmp/host-volume컨테이너 내에서 쓰기 가능한 볼륨으로 공유된 macos에서:
> docker exec -it 1234 /bin/bash
bash-4.4$ df
Filesystem 1K-blocks Used Available Use% Mounted on
...
osxfs 488347692 464780044 21836472 96% /var/tmp/container-volume
이것이 다른 사람들에게도 도움이 되길 바랍니다.
는 됩니다 됩니다./var/lib/docker 적용 가능한에 따라요storage driver디렉토리 입니다.
를(를) 할 수 .docker info지휘.
언급URL : https://stackoverflow.com/questions/19234831/where-are-docker-images-stored-on-the-host-machine
'programing' 카테고리의 다른 글
| CSS 유닛 - vh/vw와 %의 차이점은 무엇입니까? (0) | 2023.10.01 |
|---|---|
| 전처리기를 이용한 문자열 연결 (0) | 2023.10.01 |
| ES6 Itable을 배열로 변환 (0) | 2023.10.01 |
| .cnf에서 sql_mode를 변경해도 @@sql_mode가 변경되지 않는 MariaDB 10.5의 이유는 무엇입니까? (0) | 2023.10.01 |
| 셰프 ruby_block ShellOut mysql 결과 stdout 영원히 비어 있습니다. (0) | 2023.10.01 |

