programing

윈도우 10에서 도커 이미지 위치는?

closeapi 2023. 10. 23. 21:50
반응형

윈도우 10에서 도커 이미지 위치는?

저는 윈도우 10 홈 운영체제를 사용하고 있습니다.도커 공구함을 설치했습니다.

다음 명령을 사용하여 .net 코어 애플리케이션의 도커 이미지를 만들었습니다.

$  docker build -t helloWorld:core .

이제 이 이미지를 다른 기계로 보내려고 합니다.하지만 이미지 파일을 받지 못하고 있습니다.

누가 제 이미지가 어디에 저장되는지 알려주실 수 있나요?또는 도커 빌드 명령에서 도커 이미지 경로를 지정할 수 있는 방법이 있습니까?

나는 모든 답이 구식이거나 틀렸다는 것을 발견했습니다.%localappdata%\Docker\wsl

윈도우에서 도커를 실행하는 방법이 하나 이상 있기 때문에 답변이 정말 혼란스럽습니다.가장 최신 방법은 윈도우 10 홈 2020년 5월 업데이트입니다.새 버전의 Windows Subsystem for Linux(WSL2)를 사용합니다.이 답변은 이 구성에 대한 것입니다.

WSL2를 활성화한 후 도커 데스크톱을 설치합니다.도커 데스크톱은 WSL 내부의 호스트에 연결하는 클라이언트입니다.

이미지 디렉토리가 다소 일치하지 않습니다..docker info호스트 머신이나 WSL 내부에서 경로를 제공합니다.Docker Root Dir: /var/lib/docker존재하지 않는 것:

$ ls /var/lib/docker
ls: cannot access '/var/lib/docker': No such file or directory

당신은 그 이미지들을 찾을 수 있을 것입니다.

/mnt/wsl/docker-desktop-data/

또는 이 Windows 탐색기 경로에서:

\\wsl$\docker-desktop-data\mnt\wsl\docker-desktop-data\data\docker\image

Windows 10(윈도우 10) 비홈 버전을 사용하는 경우에는 다르게 작동할 수 있습니다.다른 답들을 보세요.나는 이 OS에 접속할 수 없기 때문에 대답하려고 하지 않을 것입니다.

Windows 10(윈도우 10)에서 시스템 트레이(작업 표시줄의 오른쪽)에서 도커 아이콘을 마우스 오른쪽 단추로 클릭하고 Settings...(설정...)를 선택합니다.Advanced(고급) 창에 다음과 같은 내용이 표시됩니다.

enter image description here

  1. 를 사용하여docker info지휘.
  2. 결과 - Docker Root Dir 확인

이 폴더에는 이미지, 컨테이너, ...이 들어 있습니다.

enter image description here

WSL2(Windows Subsystem for Linux)에서 도커를 사용하는 경우 숨겨진 공유를 통해 이미지에 액세스할 수 있습니다.

\\wsl$\docker-desktop-data\version-pack-data\community\docker\overlay2

볼륨도 다음 위치에 있습니다.

\\wsl$\docker-desktop-data\version-pack-data\community\docker\volumes

도커 버전은20.10.7

enter image description here

더 깊은 곳으로 가고 싶다면,docker-desktop-data당신의 파일에 실제로 위치해 있습니다.AppData\Localvhdx(가상 시스템 디스크)C:\Users\YOUR_USER_NAME\AppData\Local\Docker\wsl\data\ext4.vhdx

도커 프로세스를 종료하고 열 수 있습니다.ext4.vhdx파일(예를 들어 7zip 포함), 거기서 볼 수 있습니다.version-pack-data\community\docker이 서류철에

윈도우 10에 있고 윈도우 컨테이너를 실행중인 경우

docker running windows containers

위 이미지에서 도커는 윈도우 컨테이너를 실행하고 있습니다.리눅스 컨테이너로의 전환을 보여줍니다.

선취점docker infocommand (구체적인 내용)docker info --format “{{json .DockerRootDir}}”).

루트 디라를 봐야 합니다.

도커 루트 디렉터리: C:\ProgramData\Docker

이제 명령을 실행하여 다음과 같이 이미지를 끌어오기

docker pull hello-world

이미지를 끌어 올린 후 도커 루트 디어를 들여다 볼 수 있습니다.

현재 수정된 날짜 시간을 확인합니다.폴더 중 하나에서 레이어의 Sha를 볼 수 있습니다.

Docker location on windows

마지막으로 이미지가 다운로드되는 위치를 알고 싶다면 다음 폴더도 살펴봐야 합니다.위와 아래의 두 폴더는

  • C:\ProgramData\Docker\image\window 필터
  • C:\ProgramData\Docker\window 필터

Docker location

이제 리눅스 이미지.

도커에서 윈도우 컨테이너를 실행 중인 경우, nginx와 같은 리눅스 기반 컨테이너를 가져오려고 하면,

docker pull nginx:latest

당신은 다음과 같은 메세지를 받게 될 것입니다.

latest: Pulling from library/nginx
no matching manifest for windows/amd64 10.0.18363 in the manifest list entries

따라서 리눅스 컨테이너로 전환합니다.첫번째 이미지를 봅니다.

리눅스용 도커가 실행되면 명령을 다시 실행합니다.

docker pull nginx:latest

이미지가 다운로드되고 있는 것을 볼 수 있습니다.

하드 디스크에 이 이미지가 다운로드된 위치는 어디입니까?이 경우 docker info 명령어는 큰 도움이 되지 않을 수 있습니다.

그럼 다시 시작해요.Settings(설정)을 클릭하고 "Switch to Windows Containers(윈도우 컨테이너로 전환)..."

Settings On Docker Desktop for linux containers

그리고 이제 길을 보세요.

Settings Page on docker desktop showing the path

에, C:\ProgramData\DockerDesktop\vm-data

LinuxImages location

수정한 날짜 열을 메모합니다.Linux 기반 이미지를 끄집어내거나 제거한 후 주의하고 관찰합니다.

이것은 리눅스 env용으로 예약된 디스크 공간이므로 이미지가 어디에 있는지 더 아래에서 찾아볼 수 없습니다.

필요하다면 리눅스 기반 VM을 실행하고 도커를 설치하고 /var/lib/docker/경로를 탐색합니다.

때때로 권한 문제가 발생할 수 있습니다.만약 그렇다면 이것과 이것을 보세요.

Windows Containers(윈도우 컨테이너)를 활성화하면 이미지가 기본적으로 저장됩니다.C:\ProgramData\Docker\

이를 변경하려면 다음을 편집할 수 있습니다.C:\ProgramData\Docker\config\daemon.json그리고 새것을 추가합니다."graph"새 경로로 키...(모든 백슬래시가 다른 백슬래시와 함께 탈출되도록 notice)

예:

{
  "registry-mirrors": [],
  "insecure-registries": [],
  "debug": true,
  "experimental": false,
  "graph": "D:\\ProgramData\\Docker"
}

그 후 도커 서비스를 재시작해야 하며 다음을 통해 변경 사항을 확인할 수 있습니다.docker info명령하고 보다Docker Root Dir입적

WSL 기반 도커 설치 위치를 찾지 못했습니다.하지만 도커 명령 자체로 이미지를 얻는 간단한 방법이 있습니다!

docker image save myimagename -o myimagename.tar

그러면 7zip 또는 이와 유사한 프로그램으로 탐색할 수 있는 아카이브 파일이 생성됩니다.

WSL을 사용하는 최근 도커 데스크톱에서 윈도우 10의 도커 이미지 위치가 변경되었습니다.

(last tested with Docker Desktop Community version 2.3.0.3)

먼저 실행 및 유형을 사용합니다.\\wsl$

그러면 파일 탐색기가 열리고 폴더가 아래와 같이 표시됩니다.

  1. docker-desktop
  2. docker-desktop-data

디렉터리를 찾아 필요한 파일을 확인합니다.

참고: 사용하기 전에 도커 데스크톱이 실행 중인지 확인합니다.\\wsl$지휘권을

enter image description here

내 것은 "C:"에서 찾을 수 있습니다.\Users\Public\문서\Hyper-V\가상 하드 디스크"

아래 명령을 사용하여 이미지를 내보낼 수 있으며 Linux / 다른 기계 도커 내보내기 [OPTIONS] 컨테이너에 복사할 수 있습니다.

예:

docker export --output="latest.tar" red_panda

이 이미지를 다른 컴퓨터로 발송하려면:

docker ps -a  
#or docker container ls -a
docker commit <container-id> mynewimage
#start here if you never started your image 
#(ex: if just created using docker build -t helloWorld:core .)
docker image ls
docker save mynewimage > /tmp/mynewimage.tar

다른 컴퓨터의 경우:

docker load < /tmp/mynewimage.tar
docker images

위에서 설명한 바와 같이 Linux 컨테이너가 있는 윈도우에서 작업할 때 컨테이너는 DockerDesktop/settings/advanced/DiskImageLocation에 위치한 DockerDisk 이미지 내에 있습니다.

여기를 보다

2022년 8월 29일 현재:

여기:

%localappdata%\Docker\wsl

그리고 여기:

C:\ProgramData\DockerDesktop\vm-data

그리고 옛날에는 여기에 있었습니다.

C:\Users\Public\Documents\Hyper-V\Virtual hard disks

예. 프로그램 데이터, 앱 데이터, 문서 등 디스크의 어디에나 저장할 수 있습니다.도커는 완벽하게 정리되지 않은 제품입니다.개발자들이 사소한 것들을 찾아내는 데 많은 시간을 낭비합니다.

윈도우 10용 도커 데스크톱이 여기로 이동되었습니다.

c:/사용자/<user>/AppData/Roaming/Docker/settings.json

%APPDATA%\도커\settings.json

저는 윈도우 10 Professional 버전 20H2에서 도커 데스크톱 4.5.1(74721)을 실행할 때 이미지의 위치가 다음 사진과 같이 제 사용자 디렉토리 아래에 있는 것 같습니다.

enter image description here

왜 이미지에 도달하려고 하는지 모르겠지만, 도커 명령만 사용하면 이미지에서 백업 파일을 생성하고 원하는 곳에 로드할 수 있습니다.예:

$ docker save -o ubuntu.tar ubuntu:lucid ubuntu:saucy

Windows 홈 디렉토리에 tar 파일을 저장합니다.로드하는 방법:

$ docker load --input ubuntu.tar

저는 WSL2로 윈도우에서 도커 데스크톱을 사용할 때 컨테이너가 아래에 있었습니다.

여기 있어야 합니다.

C:\ProgramData\Docker\tmp\

엔진 포함:20.10.17(Windows 10), 도커 컨테이너를 경로에서 찾았습니다.\\\wsl.localhost\docker-desktop-data\data\docker\containers

자세한 내용은 아래에서 확인할 수 있습니다.

기본적으로 내부에 있습니다.C:\Users\Public\Documents\Hyper-V\Virtual hard disks디렉토리(.vhdx 파일).도커 설정 > 고급 > 디스크 이미지 위치에서 변경 가능합니다.

저는 윈도우 10 홈 버전 2004에서 도커 19.03.8을 실행하고 있습니다.WSL 백엔드가 새로 추가되었습니다. 이 구성에서 WSL 프롬프트를 실행하고(Win-r 후 wsl을 실행), 이미지 파일이 /mnt/host/wsl/docker-desktop-data/data/docker 아래에 있습니다.

효과가 있었습니다.

%USERPROFILE%/.docker/config.json

언급URL : https://stackoverflow.com/questions/42250222/where-is-docker-image-location-in-windows-10

반응형