Como mover imagens do Docker para outra unidade no Windows

Como mover imagens do Docker para outra unidade no Windows

Eu tento executar o seguinteroteiromas dockerdnão é reconhecido na minha estação de trabalho.

Meu sistema operacional é o Windows 10. Acabei de instalar a versão mais recente do docker, 18.09.2

É minha primeira vez com o docker.

Responder1

Esta resposta é mais uma adição emA resposta de Jean-François Beauchamp:
Você pode encontrar a documentação completa sobre este arquivo de configuração emDocumentação do Docker.

Afirma-se:

--data-rooté o caminho onde os dados persistentes, como imagens, volumes e estado do cluster, são armazenados.

e

--exec-rooté o caminho onde o estado do contêiner é armazenado. O valor padrão é /var/run/docker. Especifique o caminho do seu daemon em execução aqui.

Portanto, se você quiser mover seus contêineres e imagens (e outras coisas), será necessário definir ambos os parâmetros.

Você também pode criar um link simples onde o Docker espera que sua pasta seja redirecionada para o local desejado.
Está descritoaquie levar ao mesmo resultado. Parece "sujo", mas no final parece mais estável que a primeira solução.


Trabalhando com mecanismo WSL 2 (para Windows Home e Family Editions)

"D:\\Docker\\data-root"valor comosugerido por Migueltravará o Docker porque deve ser uma pasta WSL.
No entanto, o Docker cria uma distribuição WSL específica que contém seus dados do docker,e você pode movê-lo. Isso não requer modificação dos parâmetros do dockerd.

Para mover a distribuição WSL do docker

 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

O X:\wslStoreparam é o caminho onde você deseja “montar” sua Distro, algo comoD:\Docker\data-root

Responder2

No Docker v19.03.8 para Windows, adicionei o graphparâmetro à minha configuração e funcionou para mim, mas aparentemente esse parâmetro está obsoleto e agora devemos usá- data-rootlo. O valor padrão para data-rooté c:\programdata\docker. Esteja ciente de que no arquivo de configuração JSON as barras invertidas precisam ser escapadas.

insira a descrição da imagem aqui

Responder3

Encontre outra maneira de fazer isso com base emessepublicar.

Para containers Unix, o caminho das imagens pode ser alterado pela interface Docker Desktop, no formulário de configurações. Mas se você usar o recurso de contêineres do Windows, um segundo serviço será instalado, o "Docker Engine". Para alterar a pasta de imagens deste serviço siga os seguintes passos:

  1. Obtenha o caminho para o arquivo de configuração. Vá para Ferramentas administrativas->Serviços. Verifique a linha de comando do docker demon para o serviço "Dock Engine"

insira a descrição da imagem aqui

A linha de comando é algo como

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

  1. Edite o arquivo de configuração daemon.jsone adicione a propriedade data-root. O valor da propriedade deve apontar para o local desejado. Deve ser algo assim. Verificaressepara obter informações sobre a estrutura json.
{
  "registry-mirrors": [],
  "insecure-registries": [],
  "debug": true,
  "experimental": false,
  "hosts": [
    "npipe:////./pipe/docker_engine_windows"
  ],
  "data-root":"D:\\Docker\\data-root" 
}

Se necessário, conceda permissões para a conta em execução acessar a pasta.

  1. reinicie o serviço. Se não iniciar, verifique eventlogpossíveis erros.

Os dados configurados anteriormente em c:\ProgramData\Docker serão perdidos quando você alterar o local de instalação. É como uma nova instalação em um novo local. (imagens, contêineres, etc). Todas as subpastas serão criadas novamente.

Para manter o mínimo na unidade do sistema, faça isso em uma nova instalação.

Não tenho 100% de certeza sobre esta solução, mas até agora o docker está funcionando bem e a ocupação da unidade do sistema é pequena.

informação relacionada