Docker使用crun步骤
crun是OCI 兼容的容器运行时,可以替代Docker默认的runc。
1. 安装crun
1 | # Fedora / RHEL / CentOS Stream |
2. 配置Docker使用crun
编辑(或创建)Docker 配置文件 /etc/docker/daemon.json:
1 | sudo mkdir -p /etc/docker |
添加以下内容
1 | { |
可选:设为默认运行时(所有容器默认使用 crun):
1 | { |
注意:路径可能因系统而异,常见是
/usr/bin/crun或/usr/local/bin/crun。用which crun确认。
3. 重新加载Docker配置
1 | sudo systemctl reload docker |
验证配置是否生效:
1 | docker info | grep -A 5 "Runtimes" |
应能看到 crun 出现在列表中。
4.使用方式
临时指定运行时(推荐测试时使用):
1 | docker run --runtime crun --rm hello-world |
使用默认运行时(如果设置了 default-runtime):
1 | docker run --rm hello-world |
5.常见问题排查
- 路径错误:确认
path指向正确的 crun 二进制文件。 - 权限问题:确保 crun 有执行权限(
chmod +x /usr/bin/crun)。 - cgroup 相关错误:现代 Docker + crun 通常在 cgroup v2 下工作良好。如果出现问题,可尝试更新到较新版本的 Docker 和 crun。
- 验证容器实际使用的运行时:
1 | docker inspect <容器ID> | grep -i runtime |