Windows에서 도커 이미지를 다른 드라이브로 이동하는 방법

Windows에서 도커 이미지를 다른 드라이브로 이동하는 방법

나는 다음을 실행하려고스크립트하지만 dockerd내 워크스테이션에서는 인식되지 않습니다.

내 OS는 Windows 10입니다. 최신 버전의 Docker 18.09.2를 설치했습니다.

도커를 사용한 것은 처음입니다.

답변1

이 답변은 추가 사항입니다.Jean-François Beauchamp의 답변:
이 구성 파일에 대한 전체 문서는 다음에서 찾을 수 있습니다.도커의 문서.

그것은 명시되어 있습니다 :

--data-root이미지, 볼륨, 클러스터 상태 등 지속형 데이터가 저장되는 경로입니다.

그리고

--exec-root컨테이너 상태가 저장되는 경로입니다. 기본값은 /var/run/docker입니다. 여기에 실행 중인 데몬의 경로를 지정합니다.

따라서 컨테이너와 이미지(및 기타 항목)를 모두 이동하려면 이 매개변수를 모두 설정해야 합니다.

Docker가 폴더를 원하는 위치로 리디렉션할 것으로 예상하는 간단한 링크를 생성할 수도 있습니다.
설명되어 있습니다여기그리고 같은 결과를 가져옵니다. "더럽게" 보이지만 결과적으로는 첫 번째 솔루션보다 더 안정적으로 보입니다.


WSL 2 엔진 작업(Windows Home 및 Family Edition용)

"D:\\Docker\\data-root"다음과 같은 가치미구엘이 제안한WSL 폴더여야 하므로 Docker가 충돌합니다.
그러나 Docker는 Docker 데이터가 포함된 특정 WSL 배포판을 만듭니다.그리고 당신은 그것을 이동할 수 있습니다. dockerd 매개변수를 수정할 필요는 없습니다.

Docker의 WSL 배포판을 이동하려면

 wsl --export docker-desktop-data docker-desktop-data.tar
 wsl --unregister docker-desktop-data
 wsl --import docker-desktop-data X:\wslStore\ docker-desktop-data.tar --version 2

param X:\wslStore은 Distro를 "마운트"하려는 경로입니다.D:\Docker\data-root

답변2

Windows용 Docker v19.03.8에서 구성에 매개변수를 추가했는데 graph효과가 있었지만 이 매개변수는 더 이상 사용되지 않으므로 이제 data-root대신 사용해야 합니다. 기본값은 data-root입니다 c:\programdata\docker. JSON 구성 파일에서 백슬래시를 이스케이프해야 한다는 점에 유의하세요.

여기에 이미지 설명을 입력하세요

답변3

이를 기반으로 다른 방법을 찾아보세요.이것우편.

Unix 컨테이너의 경우 설정 양식에서 Docker Desktop 인터페이스를 통해 이미지 경로를 변경할 수 있습니다. 그러나 Windows 컨테이너 기능을 사용하면 두 번째 서비스인 "Docker Engine"이 설치됩니다. 이 서비스의 이미지 폴더를 변경하려면 다음 단계를 수행하십시오.

  1. 구성 파일의 경로를 가져옵니다. 관리 도구->서비스로 이동합니다. "Dock Engine" 서비스에 대한 docker Demon 명령줄을 확인하세요.

여기에 이미지 설명을 입력하세요

명령줄은 다음과 같습니다.

"C:\Program Files\Docker\Docker\Resources\dockerd.exe" --run-service --service-name docker -G myPc" --config-file C:\ProgramData\DockerDesktop\tmp-d4w\daemon. JSON

  1. 구성 파일을 편집 daemon.json하고 데이터 루트 속성을 추가합니다. 속성 값은 원하는 위치를 가리켜야 합니다. 다음과 같이 보일 것입니다. 확인하다이것json 구조에 대한 정보는
{
  "registry-mirrors": [],
  "insecure-registries": [],
  "debug": true,
  "experimental": false,
  "hosts": [
    "npipe:////./pipe/docker_engine_windows"
  ],
  "data-root":"D:\\Docker\\data-root" 
}

필요한 경우 실행 중인 계정에 폴더에 액세스할 수 있는 권한을 부여합니다.

  1. 서비스를 다시 시작하십시오. 시작되지 않으면 eventlog가능한 오류가 있는지 확인하세요.

설치 위치를 변경하면 c:\ProgramData\Docker에 이전에 구성한 데이터가 손실됩니다. 새로운 위치에 새로 설치하는 것과 같습니다. (이미지, 컨테이너 등). 모든 하위 폴더가 다시 생성됩니다.

시스템 드라이브를 최소 수준으로 유지하려면 새로 설치할 때 이 작업을 수행하십시오.

이 솔루션에 대해 100% 확신할 수는 없지만 현재까지 docker는 잘 작동하고 있으며 시스템 드라이브 점유가 적습니다.

관련 정보