我最近开始使用 Fedora 工作站 32,我需要在其中安装 docker,并且我选择使用 snap。安装过程和安装后步骤都很顺利。但是当我尝试运行时,docker snap 给出以下提示,
$ docker run hello-world
WARNING: cgroup v2 is not fully supported yet, proceeding with partial confinement
docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
See 'docker run --help'.
所以我继续奔跑
$ sudo snap start docker
Started.
$ sudo snap services docker
Service Startup Current Notes
docker.dockerd enabled active -
然后,当我运行时,docker run hello-world
我得到相同的提示,说无法连接到 docker 守护进程。当我检查 docker snap 服务时,我得到,
Service Startup Current Notes
docker.dockerd enabled inactive -
当我尝试运行docker run
命令时,活动服务切换回非活动状态。感谢任何解决此问题的帮助。谢谢 :)
答案1
Fedora 31 和 32 默认使用 cgroup v2,而 Docker 尚不支持。
您有两种选择:一种是使用 Podman 而不是 Docker(可选地,使用软件包podman-docker
以模拟 Docker CLI),或者切换回 cgroup v1。
要执行后者,请将systemd.unified_cgroup_hierarchy
内核参数设置为 0:
sudo dnf install grubby
sudo grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=0"
这将允许 Docker 运行(重新启动后)。
顺便说一句,在 Fedora 上,您可以使用该软件包安装 Docker moby-engine
,而不是使用 Docker snap。