Docker Engine on Ubuntu 24.04: Error response from daemon: failed to create task for container: Unimplemented: failed to start shim: start failed: unsupported shim version (3): not implemented
I Deployed Docker Engine on Ubuntu 24.04 using instructions documented here: https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository (install using the apt repository)
$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
works fine.
But when I run the hello world test, I get:
$ sudo docker run hello-world
docker: Error response from daemon: failed to create task for container: Unimplemented: failed to start shim: start failed: unsupported shim version (3): not implemented
Run 'docker run --help' for more information
I tried with different versions of docker-ce and containerd.io and always faced the same issue. It seems that docker engine is not working globally on Ubuntu 24.04.
Maybe multiple versions of containerd are accidentally scattered across /usr/bin, /usr/local/bin, etc.?
It seems that docker engine is not working globally on Ubuntu 24.04.
Works for me.
$ dpkg -l | egrep '(docker|containerd)'
ii containerd.io 1.7.27-1 arm64 An open and reliable container runtime
ii docker-buildx-plugin 0.23.0-1~ubuntu.24.04~noble arm64 Docker Buildx cli plugin.
ii docker-ce 5:28.1.1-1~ubuntu.24.04~noble arm64 Docker: the open-source application container engine
ii docker-ce-cli 5:28.1.1-1~ubuntu.24.04~noble arm64 Docker CLI: the open-source application container engine
ii docker-ce-rootless-extras 5:28.1.1-1~ubuntu.24.04~noble arm64 Rootless support for Docker.
ii docker-compose-plugin 2.35.1-1~ubuntu.24.04~noble arm64 Docker Compose (V2) plugin for the Docker CLI.
I have same problem!
me too, and everything returne to normal after upgrading containerd to v2.1.1 (latest release) manually.
Ok confirmed on my side too with the following set-up:
- source linux Gentoo: kernel 6.12.21 (all flags set for docker)
- docker engine version 28.0.4
- docker-cli 28.0.4
- containerd 2.0.5 (hardened)
- (runc tools 1.2.6)
- docker-buildx 0.10.4 (out dated)
Apparmor is not activated on this instance. Tested with and without Swarm Mode.
Reinstalling (recompiling) and restarting docker service did not change anything. I can build images but running them is impossible and I observe the same output on any container run:
docker: Error response from daemon: failed to create task for container: Unimplemented: failed to start shim: start failed: unsupported shim version (3): not implemented
Since everything seems to be at latest stable version (linux repo updated on 14th of August 2025) I tried to update only the docker buildx utility to version 0.21.2 and build images with docker buildx build -t ..., this did not work either. Same message.
So I updated containerd as suggested by
- containerd 2.1.1 (hardened)
- (runc tools 1.3.0)
Restarted Docker / Rebuild the Image
And running is still not possible:
docker: Error response from daemon: failed to create task for container: Unimplemented: failed to start shim: start failed: unsupported shim version (3): not implemented
@qingchuwudi what is the final docker version in the end ? 28.2.2 ?
And running is still not possible:
docker: Error response from daemon: failed to create task for container: Unimplemented: failed to start shim: start failed: unsupported shim version (3): not implemented
Same error here ...
Error looks to come from containerd; https://github.com/containerd/containerd/blob/148be7d8dea2d1c5d8c12da1cc71c3bfa6a44fa5/core/runtime/v2/shim.go#L222-L234
func parseStartResponse(response []byte) (client.BootstrapParams, error) {
var params client.BootstrapParams
if err := json.Unmarshal(response, ¶ms); err != nil || params.Version < 2 {
// Use TTRPC for legacy shims
params.Address = string(response)
params.Protocol = "ttrpc"
params.Version = 2
}
if params.Version > CurrentShimVersion {
return client.BootstrapParams{}, fmt.Errorf("unsupported shim version (%d): %w", params.Version, errdefs.ErrNotImplemented)
}
AFAICS, that function would be called when restoring existing shims, parsing a bootstrap.json, or parsing the response when starting an existing shim
https://github.com/containerd/containerd/blob/148be7d8dea2d1c5d8c12da1cc71c3bfa6a44fa5/core/runtime/v2/shim_manager.go#L309-L314
https://github.com/containerd/containerd/blob/148be7d8dea2d1c5d8c12da1cc71c3bfa6a44fa5/core/runtime/v2/shim.go#L265-L276
Based on the error, it looks like a shim exists that was created with version 3 (which corresponds with containerd v2 (CurrentShimVersion)), but trying to start the shim with containerd v1;
https://github.com/containerd/containerd/blob/148be7d8dea2d1c5d8c12da1cc71c3bfa6a44fa5/core/runtime/v2/shim.go#L182-L183
https://github.com/containerd/containerd/blob/v1.7.28/runtime/v2/shim.go#L211-L222
So, yes, either different versions of containerd are installed on the system and are trying to use shims created by the other version, or a containerd v2 was installed and state was found that containerd v1 tried to restore?