Cara memindahkan gambar docker ke drive lain di windows

Saya mencoba menjalankan yang berikut ini script tapi dockerd tidak diakui di workstation saya.

OS saya adalah windows 10. Baru saja menginstal docker versi terbaru yaitu 18.09.2

Ini adalah pertama kalinya saya dengan docker.

Jawaban ini lebih merupakan tambahan pada Jawaban Jean-Fran7ois Beauchamp :
Anda dapat menemukan dokumentasi lengkap tentang file konfigurasi ini di Dokumentasi Docker.

Hal ini dinyatakan :

--data-root adalah jalur Tempat data yang bertahan seperti gambar, volume, dan status cluster disimpan.

dan

--exec-root adalah jalur Tempat status kontainer disimpan. Nilai defaultnya adalah / var / run / docker. Tentukan jalur untuk daemon Anda yang sedang berjalan di sini.

Jadi jika Anda ingin memindahkan kontainer dan gambar Anda (dan hal lainnya), Anda harus mengatur kedua parameter ini.

Anda juga dapat membuat tautan sederhana di mana Docker mengharapkan foldernya dialihkan ke tempat yang diinginkan.
Hal ini dijelaskan di sini dan mengarah pada hasil yang sama. Ini terlihat & quot;Kotor & quot; tapi pada akhirnya terlihat lebih stabil daripada solusi pertama.


Bekerja dengan mesin Wsl 2 (untuk edisi Windows Home dan Family)

"D:\\Docker\\data-root" nilai sebagai disarankan oleh Miguel akan crash Docker karena harus menjadi folder WSL.
Namun, Docker membuat distro Wsl tertentu yang berisi data docker Anda, dan Anda dapat memindahkannya. Ini tidak perlu mengubah parameter dockerd.

Untuk memindahkan distro Wsl 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

The X:\wslStore param adalah jalan di mana Anda ingin"mount & quot; Distro Anda, sesuatu seperti D:\Docker\data-root

Pada Docker v19. 03. 8 untuk Windows, saya menambahkan graph parameter ke konfigurasi saya, dan itu berhasil untuk saya, tetapi tampaknya, parameter ini tidak digunakan lagi dan sekarang kita harus menggunakan data-root sebagai gantinya. Nilai default untuk data-root adalah c:\programdata\docker. Berhati-hatilah bahwa dalam file konfigurasi JSON garis miring terbalik perlu diloloskan.

enter image description here

Temukan cara lain untuk melakukannya berdasarkan ini pos.

Untuk kontainer Unix, jalur untuk gambar dapat diubah oleh antarmuka desktop Docker, di formulir pengaturan. Tetapi jika Anda menggunakan fitur windows containers maka Layanan kedua diinstal,"Docker Engine". Untuk mengubah folder gambar untuk layanan ini lakukan langkah-langkah berikut:

>1) Dapatkan path ke file konfigurasi.Pergi ke Alat administratif-layanan. Periksa baris perintah docker demon untuk layanan "Dock Engine"

enter image description here

Baris perintah adalah sesuatu seperti

"C:\Program file \ buruh pelabuhan \ buruh pelabuhan \ sumber daya \ dockerd.exe "-- run-service -- service-name docker-G myPc " -- config-berkas C:\ProgramData\DockerDesktop\tmp-d4w\daemon.json

2) mengedit file konfigurasi daemon.json dan tambahkan Properti data-root.Nilai properti harus menunjuk ke lokasi yang diinginkan. Harus terlihat seperti ini. Cek ini untuk informasi tentang struktur json.

{  "registry-mirrors": [],  "insecure-registries": [],  "debug": true,  "experimental": false,  "hosts": [  "npipe:////./pipe/docker_engine_windows"  ],  "data-root":"D:\\Docker\\data-root" 

}

Jika perlu, berikan izin untuk akun yang sedang berjalan untuk mengakses folder.

3) Mulai ulang layanan.Jika tidak dimulai, periksa eventlog untuk kemungkinan kesalahan.

Data yang dikonfigurasi sebelumnya di c:\ProgramData\Docker akan hilang ketika Anda mengubah instalasi location.It ini seperti instalasi baru ke lokasi baru. (gambar, wadah, dll). Semua sub folder akan dibuat lagi.

Untuk menjaga minimum pada drive sistem melakukan hal ini pada instalasi baru.

Saya tidak 100% yakin tentang solusi ini, tetapi sejauh ini, docker berfungsi dengan baik dan pekerjaan drive sistem sangat tipis.