Como mover imagens do docker para outra unidade no windows

Eu tento executar o seguinte roteiro mas dockerd não é reconhecido na minha estação de trabalho.

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

É a minha primeira vez com docker.

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

É declarado :

--data-root é o caminho onde os dados persistidos, 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 para o seu daemon em execução aqui.

Portanto, se você deseja mover seus contêineres e imagens (e as outras coisas), é necessário definir esses dois parâmetros.

Você também pode criar um link simples onde o Docker espera que sua pasta seja redirecionada para o local desejado.
É descrito aqui e levar ao mesmo resultado. Parece & quot; Sujo & quot; mas no final parece mais estável do que a primeira solução.


Trabalhando com o WSL 2 engine (para edições Home e Family do Windows)

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

Para mover a distro 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:\wslStore param é o caminho onde você quer & quot; montar & quot; sua Distro, algo como D:\Docker\data-root

No Docker v19. 03. 8 Para Windows, adicionei o graph parâmetro para minha configuração, e funcionou para mim, mas aparentemente, esse parâmetro está obsoleto e agora devemos usar data-root Sim. O valor padrão para data-root e c:\programdata\docker. Cuidado com o fato de que no arquivo de configuração JSON as barras invertidas precisam ser escapadas.

enter image description here

Encontre outra maneira de fazer isso com base em presente postar.

Para contêineres Unix, o caminho para imagens pode ser alterado pela interface Docker Desktop, no formulário de Configurações. Mas se você usar o recurso contêineres do windows, um segundo serviço será instalado, o "mecanismo Docker". Para alterar a pasta de imagem para este serviço, execute as seguintes etapas:

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

enter image description here

A linha de comando é algo como

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

2) Edite o arquivo de configuração daemon.json e adicione a propriedade data-root.O valor da propriedade deve apontar para o local desejado. Deve parecer algo assim. Verificar presente para 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, dê permissões para a conta em execução acessar a pasta.

3) Reinicie o serviço.Se não começar, verifique eventlog para possíveis erros.

Dados configurados anteriores em c:\ProgramData\Docker será perdido quando você alterar a instalação location.It é como uma nova instalação para um novo local. (imagens, contentores, 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.