Gambaran Umum Penyimpanan Kontainer

Topik ini memberikan gambaran umum tentang berbagai cara kontainer menggunakan penyimpanan di Windows. Kontainer ber perilaku berbeda dari komputer virtual dalam hal penyimpanan. Secara alami, kontainer dibuat untuk mencegah aplikasi yang berjalan di dalamnya dari status penulisan di seluruh sistem file host. Kontainer menggunakan ruang "scratch" secara default, tetapi Windows juga menyediakan sarana untuk mempertahankan penyimpanan.

Ruang Coretan

Kontainer Windows secara default menggunakan penyimpanan ephemeral. Semua kontainer I/O terjadi di "ruang goresan" dan setiap kontainer mendapatkan goresannya sendiri. Pembuatan file dan penulisan file diambil di ruang goresan dan tidak lolos ke host. Ketika instans kontainer dihentikan, semua perubahan yang terjadi di ruang goresan akan dibuang. Saat instans kontainer baru dimulai, ruang coretan baru disediakan untuk instans.

Penyimpanan Lapisan

Seperti yang dijelaskan dalam Ringkasan Kontainer, gambar kontainer adalah bundel file yang dinyatakan sebagai serangkaian lapisan. Penyimpanan lapisan adalah semua file yang dibangun ke dalam kontainer. Setiap kali Anda docker pull kemudian docker run kontainer itu - mereka sama.

Di mana lapisan disimpan dan cara mengubahnya

Dalam penginstalan default, lapisan disimpan dan dibagi di C:\ProgramData\docker seluruh direktori "gambar" dan "windowsfilter". Anda dapat mengubah tempat lapisan disimpan menggunakan docker-root konfigurasi, seperti yang ditunjukkan dalam dokumentasi Docker Engine pada Windows .

Catatan

Hanya NTFS yang didukung untuk penyimpanan lapisan. ReFS dan volume bersama kluster (CSV) tidak didukung.

Anda tidak boleh mengubah file apa pun di direktori lapisan - file dikelola dengan hati-hati menggunakan perintah seperti:

Operasi yang didukung dalam penyimpanan lapisan

Menjalankan kontainer dapat menggunakan sebagian besar operasi NTFS dengan pengecualian transaksi. Ini termasuk mengatur ACL, dan semua ACL diperiksa di dalam kontainer. Jika Anda ingin menjalankan proses sebagai beberapa pengguna di dalam kontainer, Anda dapat membuat pengguna di Dockerfile dengan RUN net user /create ..., mengatur ACL file, lalu mengonfigurasi proses untuk dijalankan dengan pengguna tersebut menggunakan arahan Dockerfile USER.

Penyimpanan Persisten

Kontainer Windows mendukung mekanisme untuk menyediakan penyimpanan persisten melalui pemasangan dan volume ikatan. Untuk mempelajari selengkapnya, lihat Penyimpanan Persisten di Kontainer.

Batas Penyimpanan

Pola umum untuk aplikasi Windows adalah mengkueri jumlah ruang disk kosong sebelum menginstal atau membuat file baru atau sebagai pemicu untuk membersihkan file sementara. Dengan tujuan memaksimalkan kompatibilitas aplikasi, drive C: dalam kontainer Windows mewakili ukuran bebas virtual 20GB.

Beberapa pengguna mungkin ingin mengambil alih default ini dan mengonfigurasi ruang kosong ke nilai yang lebih kecil atau lebih besar. ini dapat dicapai meskipun opsi "ukuran" dalam konfigurasi "storage-opt".

Contoh

Baris perintah: docker run --storage-opt "size=50GB" mcr.microsoft.com/windows/servercore:ltsc2019 cmd

Atau Anda dapat mengubah file konfigurasi docker secara langsung:

"storage-opts": [
    "size=50GB"
  ]

Tip

Metode ini juga berfungsi untuk build docker. Lihat dokumen konfigurasi docker untuk detail selengkapnya tentang memodifikasi file konfigurasi docker.