Citra Dasar Kontainer

Berlaku untuk: Windows Server 2022, Windows Server 2019, Windows Server 2016

Windows menawarkan empat citra dasar kontainer yang dapat dibuat pengguna. Setiap gambar dasar adalah jenis sistem operasi Windows atau Windows Server yang berbeda, memiliki jejak pada disk yang berbeda, dan memiliki set set WINDOWS API yang berbeda.

Penemuan gambar

Semua gambar dasar kontainer Windows dapat ditemukan melalui Docker Hub. Gambar dasar kontainer Windows sendiri disajikan dari mcr.microsoft.com, Microsoft Container Registry (MCR). Inilah sebabnya mengapa perintah penarikan untuk gambar dasar kontainer Windows terlihat seperti berikut ini:

docker pull mcr.microsoft.com/windows/servercore:ltsc2022

MCR tidak memiliki pengalaman katalog sendiri dan dimaksudkan untuk mendukung katalog yang ada, seperti Docker Hub. Berkat jejak global Azure dan ditambah dengan Azure CDN, MCR memberikan pengalaman penarikan gambar yang konsisten dan cepat. Pelanggan Azure, menjalankan beban kerja mereka di Azure, mendapat manfaat dari peningkatan performa dalam jaringan serta integrasi yang ketat dengan MCR (sumber untuk gambar kontainer Microsoft), Marketplace Azure, dan perluasan jumlah layanan di Azure yang menawarkan kontainer sebagai format paket penyebaran.

Memilih gambar dasar

Bagaimana Anda memilih gambar dasar yang tepat untuk dibangun? Bagi sebagian besar pengguna, Windows Server Core dan Nanoserver akan menjadi gambar yang paling tepat untuk digunakan. Setiap gambar dasar dijelaskan secara singkat di bawah ini:

  • Nano Server adalah penawaran Windows ultralight untuk pengembangan aplikasi baru.
  • Server Core berukuran sedang dan opsi yang baik untuk "mengangkat dan menggeser" aplikasi Windows Server.
  • Windows adalah gambar terbesar dan memiliki dukungan API Windows penuh untuk beban kerja.
  • Windows Server sedikit lebih kecil dari gambar Windows, memiliki dukungan Windows API penuh, dan memungkinkan Anda menggunakan lebih banyak fitur server.

Panduan

Meskipun Anda bebas untuk menargetkan gambar mana pun yang ingin Anda gunakan, berikut adalah beberapa panduan untuk membantu mengarahkan pilihan Anda:

  • Apakah aplikasi Anda memerlukan kerangka kerja .NET lengkap? Jika jawaban atas pertanyaan ini adalah ya, Anda harus menargetkan Windows Server Core.
  • Apakah Anda membangun aplikasi Windows berdasarkan .NET Core? Jika jawaban atas pertanyaan ini adalah ya, Anda harus menargetkan Nanoserver.
  • Apakah gambar kontainer Windows Server Core kehilangan dependensi yang dibutuhkan aplikasi Anda? Jika jawaban atas pertanyaan ini adalah ya, Anda harus mencoba menargetkan Windows. Gambar ini jauh lebih besar daripada gambar dasar lainnya, tetapi membawa banyak pustaka Windows inti (seperti pustaka GDI).
  • Apakah Anda seorang Windows Insider? Jika ya, Anda harus mempertimbangkan untuk menggunakan versi gambar orang dalam. Untuk informasi selengkapnya, lihat "Gambar dasar untuk orang dalam Windows" di bawah ini.
  • Apakah Anda memerlukan dukungan akselerasi GPU untuk beban kerja kontainer Anda? Jika ya, Anda harus mempertimbangkan untuk menggunakan Windows Server gambar untuk menyertakan akselerasi perangkat keras untuk beban kerja kontainer Windows Anda.

Tip

Banyak pengguna Windows ingin membuat kontainer aplikasi yang memiliki dependensi pada .NET. Selain empat gambar dasar yang dijelaskan di sini, Microsoft menerbitkan beberapa gambar kontainer Windows yang telah dikonfigurasi sebelumnya dengan kerangka kerja Microsoft populer, seperti gambar kerangka kerja .NET dan gambar ASP .NET .

Windows vs Windows Server

Gambar Windows Server (3,1 GB) berukuran sedikit lebih kecil dari Windows gambar (3,4 GB). Gambar Windows Server juga mewarisi semua peningkatan performa dan keandalan dari gambar Server Core, memiliki dukungan GPU, dan tidak memiliki batasan untuk koneksi IIS. Untuk menggunakan gambar Windows Server terbaru, Anda memerlukan penginstalan Windows Server 2022. Citra Windows tidak tersedia untuk Windows Server 2022.

Gambar dasar untuk Windows Insiders

Microsoft menyediakan versi "insider" dari setiap gambar dasar kontainer. Gambar kontainer orang dalam ini membawa pengembangan fitur terbaru dan terbesar dalam gambar kontainer kami. Saat Anda menjalankan host yang merupakan versi Windows yang lebih dalam (baik Windows Insider atau Windows Server Insider), lebih baik menggunakan citra ini. Gambar orang dalam berikut tersedia di Docker Hub:

Baca Menggunakan Kontainer dengan Program Windows Insider untuk mempelajari lebih lanjut.

Windows Server Core vs Nanoserver

Windows Server Core dan Nanoserver merupakan gambar dasar yang paling umum untuk ditargetkan. Perbedaan utama antara gambar-gambar ini adalah bahwa Nanoserver memiliki permukaan API yang jauh lebih kecil. PowerShell, WMI, dan tumpukan layanan Windows tidak ada dari gambar Nanoserver.

Nanoserver dibangun untuk menyediakan permukaan API yang cukup untuk menjalankan aplikasi yang memiliki dependensi pada .NET core atau kerangka kerja sumber terbuka modern lainnya. Sebagai tradeoff ke permukaan API yang lebih kecil, gambar Nanoserver memiliki jejak on-disk yang jauh lebih kecil daripada gambar dasar Windows lainnya. Perlu diingat bahwa Anda selalu dapat menambahkan lapisan di atas Nano Server sesuai keinginan Anda. Untuk contoh ini, lihat .NET Core Nano Server Dockerfile.