全部产品
Search
文档中心

Container Service for Kubernetes:Perbandingan antara Docker, containerd, dan Sandboxed-Container

更新时间:Nov 11, 2025

Container Service for Kubernetes (ACK) mendukung runtime kontainer berikut: containerd, Sandboxed-Container, dan Docker. Topik ini membandingkan runtime tersebut dari segi implementasi, keterbatasan, dan arsitektur penerapannya untuk membantu Anda memilih runtime kontainer yang sesuai dengan kebutuhan dan skenario Anda.

Perbandingan dari segi implementasi dan batasan

Fitur

containerd

Sandboxed-Container

Docker (pemeliharaan dihentikan)

Jenis kluster

  • Kluster ACK yang dikelola

  • Cluster khusus ACK

  • Kluster ACK Edge

  • Kluster ACK yang dikelola

  • Cluster khusus ACK

Semua jenis kluster ACK

Versi Kubernetes

Versi 1.20 atau lebih baru

Kubernetes 1.16 atau lebih baru

Kubernetes 1.22 dan sebelumnya

Catatan

Kami menyarankan agar Anda melakukan migrasi ke containerd. Untuk informasi selengkapnya, lihat Migrasi dari Docker ke containerd.

Jenis node

  • ECS

  • Node yang dikelola sendiri (Kluster ACK Edge)

Hanya keluarga ECS Bare Metal Instance yang didukung

ECS

Sistem operasi node

Container Service for Kubernetes menyediakan gambar publik untuk sistem operasi seperti versi Alibaba Cloud Linux 3 yang dioptimalkan untuk kontainer, ContainerOS, Alibaba Cloud Linux 3, Ubuntu, dan Windows. Untuk informasi selengkapnya, lihat Sistem operasi.

    • Alibaba Cloud Linux

    • CentOS

    Mesin kontainer

    containerd

    containerd

    Docker

    Pemantauan

    Didukung

    Didukung

    Didukung

    Pengumpulan log kontainer

    Didukung

    Injeksi Manual (Sidecar)

    Didukung

    Pengumpulan stdout kontainer

    Didukung

    Didukung

    Didukung

    RuntimeClass

    Tidak didukung

    Didukung (runV)

    Tidak didukung

    Penjadwalan Pod

    Tidak perlu konfigurasi.

    Anda harus menambahkan konfigurasi berdasarkan aturan berikut:

    • Untuk Kubernetes 1.14.x, Anda harus menambahkan konfigurasi berikut ke parameter nodeSelector:

      alibabacloud.com/sandboxed-container: Sandboxed-Container.runv
    • Untuk Kubernetes 1.16.x dan versi lebih baru, tidak diperlukan konfigurasi.

    Tidak perlu konfigurasi.

    HostNetwork

    Didukung

    Tidak didukung

    Didukung

    Disk data node

    Opsional

    Wajib. Disk data harus berukuran minimal 200 GiB.

    Opsional

    Plugin jaringan

    • Flannel

    • Terway (tidak termasuk Kluster ACK Edge)

    • Flannel

    • Saat menggunakan Terway, mode Elastic Network Interface (ENI) eksklusif dan fitur DataPath v2 tidak didukung.

    • Flannel

    • Terway

    Modus kube-proxy

    • iptables

    • IPVS

    • iptables

    • IPVS

    • iptables

    • IPVS

    Plugin volume

    Plugin CSI (tidak termasuk Kluster ACK Edge)

    Plugin CSI

    Plugin CSI

    Sistem file root kontainer

    OverlayFS

    OverlayFS dengan konfigurasi kuota disk

    OverlayFS

    Catatan
    • Anda tidak dapat menerapkan Docker dan Sandboxed-Container pada node yang sama. Namun, Anda dapat membuat kelompok node berbeda untuk menjalankan node dengan runtime Docker dan node dengan runtime Sandboxed-Container secara bersamaan.

    • Sandboxed-Container diimplementasikan berdasarkan containerd. Saat Anda melihat informasi node Sandboxed-Container menggunakan kubectl get node atau daftar node di Konsol, runtime node ditampilkan sebagai containerd.

    • Untuk informasi selengkapnya, lihat Gunakan CRD untuk mengumpulkan log teks kontainer dalam mode Sidecar.

    Perbandingan dari segi arsitektur penerapan

    Runtime

    Arsitektur penerapan

    Docker

    kubelet
    └── dockerd
        └── containerd
            └── containerd-shim
                └── runC containers
    

    containerd

    kubelet
    └── containerd
        └── containerd-shim
            └── runC containers
    

    Sandboxed-Container v2

    kubelet
    ├── (CRI) containerd
    │   ├── containerd-shim
    │   │   └── runC containers
    │   └── containerd-shim-runv2
    │       └── runV sandboxed containers
    

    Perbandingan perintah umum yang disediakan oleh Docker Engine dan containerd

    Runtime Docker dan runtime Sandboxed-Container masing-masing menggunakan Docker dan containerd sebagai mesin kontainer mereka, dengan antarmuka baris perintah masing-masing untuk mengelola citra dan kontainer. Tabel berikut mencantumkan perintah-perintah umum tersebut.

    Operasi

    containerd

    Docker

    crictl (disarankan)

    ctr

    docker

    Kueri kontainer

    crictl ps

    ctr -n k8s.io c ls

    docker ps

    Kueri detail kontainer

    crictl inspect <container>

    ctr -n k8s.io c info <container>

    docker inspect <container>

    Kueri log kontainer

    crictl logs <container>

    N/A

    docker logs <container>

    Jalankan perintah dalam kontainer

    crictl exec <container>

    N/A

    docker exec <container>

    Sambungkan stdin, stdout, dan stderr lokal ke kontainer

    crictl attach <container>

    N/A

    docker attach <container>

    Kueri statistik penggunaan sumber daya

    crictl stats <container>

    N/A

    docker stats <container>

    Buat kontainer

    crictl create <container>

    ctr -n k8s.io c create <container>

    docker create <container>

    Jalankan kontainer

    crictl start <container>

    ctr -n k8s.io run <container>

    docker start <container>

    Hentikan kontainer

    crictl stop <container>

    ctr -n k8s.io task pause <container>

    docker stop <container>

    Hapus kontainer

    crictl rm <container>

    ctr -n k8s.io c del <container>

    docker rm <container>

    Kueri citra

    crictl images

    ctr -n k8s.io i ls <image>

    docker images

    Kueri detail citra

    crictl inspecti <image>

    N/A

    docker inspect <image>

    Tarik citra

    crictl pull <image>

    ctr -n k8s.io i pull <image>

    docker pull <image>

    Dorong citra

    N/A

    ctr -n k8s.io i push <image>

    docker push <image>

    Hapus citra

    crictl rmi <image>

    ctr -n k8s.io i rm <image>

    docker rmi <image>

    Kueri Pod

    crictl pods

    N/A

    N/A

    Kueri detail Pod

    crictl inspectp <pod name>

    N/A

    N/A

    Jalankan Pod

    crictl runp <pod name>

    N/A

    N/A

    Hentikan Pod

    crictl stopp <pod name>

    N/A

    N/A

    Referensi