You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用ctr拉取的镜像无法通过Docker运行的问题求助

问题原因

ctr是containerd的原生命令行工具,它默认将镜像存储在containerd的default命名空间中,而Docker daemon使用独立的镜像存储体系(实际对应containerd的moby命名空间),两者的镜像池不共享,因此Docker无法识别通过ctr直接拉取的镜像。

解决方案

有两种方式可以解决这个问题:

方式一:直接拉取到Docker对应的命名空间

拉取镜像时指定moby命名空间(Docker默认使用的containerd命名空间),这样Docker就能直接识别到该镜像:

ctr -n moby image pull docker.io/library/python:3.8.18-bookworm

拉取完成后,直接执行运行命令即可:

docker run -it --rm docker.io/library/python:3.8.18-bookworm bash

方式二:导出导入镜像到Docker存储

如果已经用ctr拉取了镜像到默认命名空间,可以通过导出-导入的方式同步到Docker:

  1. 查看ctr中的镜像列表,获取目标镜像的名称或ID:
ctr image list
  1. 将镜像导出为tar包:
# 用镜像名称导出
ctr image export python.tar docker.io/library/python:3.8.18-bookworm
# 或者用镜像ID导出
ctr image export python.tar sha256:<你的镜像ID>
  1. 将tar包导入到Docker:
docker load -i python.tar
  1. 运行镜像:
docker run -it --rm docker.io/library/python:3.8.18-bookworm bash

内容的提问来源于stack exchange,提问作者Tristan Debas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 01:22:40