Version 1.14. This version is no longer supported. For information about how to upgrade to version 1.15, see Upgrading Anthos on bare metal in the 1.15 documentation. For more information about supported and unsupported versions, see the Version history page in the latest documentation.
Your clusters use a container runtime to create and run Kubernetes Pods. Before
version 1.13 of Google Distributed Cloud, your container runtime could be either
Docker Engine or containerd. However, your container runtime can only be
containerd starting from version 1.13 of Google Distributed Cloud.
Before version 1.13 of Google Distributed Cloud, you chose your container runtime
by specifying a value in the spec.nodeConfig.containerRuntime field in your
cluster configuration file. Starting from version 1.13 of
Google Distributed Cloud, the containerRuntime field is no longer included in
cluster configuration files generated by bmctl.
Kubernetes 1.24 ends support of Docker Engine
The dockershim
component in Kubernetes enables cluster nodes to use the Docker Engine container
runtime. However, Kubernetes 1.24 removed the dockershim component. Since
Google Distributed Cloud version 1.13 will run on Kubernetes 1.24, version 1.13
and higher clusters can no longer use Docker Engine.
Whether creating a version 1.13 cluster or upgrading a version 1.12 cluster to
version 1.13, containerd is the default and is the only supported container
runtime. You aren't required to specify the container runtime in the cluster
configuration file. If you try to specify anything but containerd for the
container runtime, the cluster upgrade or create operation will fail.
The Docker installation that you use in development to create images is
unrelated to the Docker Engine container runtime inside your Kubernetes cluster.
You can still use Docker to create images and build application containers.
Those containers will still work inside your cluster.
You must continue to install Docker on your
admin workstation
because the bmctl command requires Docker for operations, such as cluster
creation. This use of Docker is also unaffected by the dockershim deprecation.
Check the status of the container runtime
To check the status of the container runtime, run the following command:
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[[["\u003cp\u003eStarting from Google Distributed Cloud version 1.13, \u003ccode\u003econtainerd\u003c/code\u003e is the only supported container runtime, replacing the previous option of \u003ccode\u003eDocker Engine\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eKubernetes version 1.24 and later versions removed the \u003ccode\u003edockershim\u003c/code\u003e component, which allowed for the use of Docker Engine, making \u003ccode\u003econtainerd\u003c/code\u003e the only compatible option.\u003c/p\u003e\n"],["\u003cp\u003eSpecifying the \u003ccode\u003econtainerRuntime\u003c/code\u003e field in cluster configuration files is no longer required or possible in Google Distributed Cloud version 1.13 and above, as \u003ccode\u003econtainerd\u003c/code\u003e is automatically used.\u003c/p\u003e\n"],["\u003cp\u003eEven though Docker Engine is no longer supported within the Kubernetes cluster, Docker can still be used for image creation and application container development, with those images being usable within the cluster.\u003c/p\u003e\n"],["\u003cp\u003eDocker remains a necessary installation on the admin workstation for \u003ccode\u003ebmctl\u003c/code\u003e operations, such as cluster creation, and this use of Docker is unaffected by the deprecation of \u003ccode\u003edockershim\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# About the container runtime\n\n\u003cbr /\u003e\n\nYour clusters use a container runtime to create and run Kubernetes Pods. Before\nversion 1.13 of Google Distributed Cloud, your container runtime could be either\n`Docker Engine` or `containerd`. However, your container runtime can only be\n`containerd` starting from version 1.13 of Google Distributed Cloud.\n\nBefore version 1.13 of Google Distributed Cloud, you chose your container runtime\nby specifying a value in the `spec.nodeConfig.containerRuntime` field in your\ncluster configuration file. Starting from version 1.13 of\nGoogle Distributed Cloud, the `containerRuntime` field is no longer included in\ncluster configuration files generated by `bmctl`.\n\nKubernetes 1.24 ends support of Docker Engine\n---------------------------------------------\n\nThe [`dockershim`](https://kubernetes.io/blog/2022/05/03/dockershim-historical-context/)\ncomponent in Kubernetes enables cluster nodes to use the Docker Engine container\nruntime. However, Kubernetes 1.24 removed the `dockershim` component. Since\nGoogle Distributed Cloud version 1.13 will run on Kubernetes 1.24, version 1.13\nand higher clusters can no longer use Docker Engine.\n\nWhether creating a version 1.13 cluster or upgrading a version 1.12 cluster to\nversion 1.13, `containerd` is the default and is the only supported container\nruntime. You aren't required to specify the container runtime in the cluster\nconfiguration file. If you try to specify anything but `containerd` for the\ncontainer runtime, the cluster upgrade or create operation will fail.\n\nThe Docker installation that you use in development to create images is\nunrelated to the Docker Engine container runtime inside your Kubernetes cluster.\nYou can still use Docker to create images and build application containers.\nThose containers will still work inside your cluster.\n\nYou must continue to install Docker on your\n[admin workstation](/anthos/clusters/docs/bare-metal/1.14/installing/install-prereq#workstation_prerequisites)\nbecause the `bmctl` command requires Docker for operations, such as cluster\ncreation. This use of Docker is also unaffected by the `dockershim` deprecation.\n\nCheck the status of the container runtime\n-----------------------------------------\n\nTo check the status of the container runtime, run the following command: \n\n systemctl status containerd"]]