更改 docker 运行时版本

change the docker runtime version

tl;dr 使用 dockerd,我如何 select v2 运行 时间?

docker run 警告提示 v2 运行time

docker 无法 运行 docker run hello-world 警告是 consider using runtime v2 在文件 /var/log/deamon.log

中找到
containerd[367]: level=warning msg="runtime v1 is deprecated since containerd v1.4, consider using runtime v2" time="2020-12-30T15:49:25.426984959-08:00"

这是所有系统日志和 --debug 输出中唯一的警告或错误,因此这是我最好的下一步。

dockerd --help runtime 的选项是

‣ dockerd --help | grep runtime
      --add-runtime runtime      Register an additional OCI compatible runtime (default [])
      --cpu-rt-runtime int       Limit the CPU real-time runtime in microseconds
      --default-runtime string   Default OCI runtime for containers (default "runc")

正在使用的版本

运行 Raspbian 9 (Debian 9) 在 Raspberry Pi 2.

使用docker-ce安装(使用get-docker.sh安装)

‣ dpkg --status docker-ce
Package: docker-ce
Status: install ok installed
Priority: optional
Section: admin
Installed-Size: 68106
Architecture: armhf
Version: 5:19.03.14~3-0~raspbian-stretch
Replaces: docker-engine
Depends: docker-ce-cli, containerd.io (>= 1.2.2-3), iptables, libseccomp2 (>= 2.3.0), libc6 (>= 2.4), libdevmapper1.02.1 (>= 2:1.02.97), libsystemd0
Recommends: ca-certificates, cgroupfs-mount | cgroup-lite, git, pigz, xz-utils, libltdl7
Conflicts: docker (<< 1.5~), docker-engine, docker-engine-cs, docker.io, lxc-docker, lxc-docker-virtual-package
...

dockerd

‣ dockerd --version
Docker version 19.03.14, build 5eb3275d40

Docker 版本 19.03 不允许您 select v2 运行时。

只有 Docker 20.10.0 引入了运行时 v2 并将其用作默认运行时。 有关详细信息,请参阅 Docker 发行说明 https://docs.docker.com/engine/release-notes/#runtime-5

将运行时 v2 引入 Docker 20.10.0 的详细信息表明,您应该能够通过指定 [=10] 主动 select 使用 Docker 20.10.0 的默认运行时=],参见 https://github.com/moby/moby/pull/41182