Docker保存加载镜像后启动容器提示no such container错误如何解决?
问题产生原因
docker load 操作导入的是静态Docker镜像(Image),而 docker start 命令的作用是启动已创建但处于停止状态的Docker容器(Container),二者操作对象完全不同。你传入的e7bdb77cdcd8是镜像ID/镜像包标识,不是已经创建的容器ID,因此Docker守护进程无法匹配到对应容器,抛出报错。
可行解决方案
- 首先确认导入的镜像是否存在,执行以下命令查看本地镜像列表:
如果导入的镜像包没有保存名称和标签,输出中对应条目的REPOSITORY和TAG会显示为docker images<none>,记录对应条目的IMAGE ID即可后续操作。 - 方案1:首次创建并启动容器
若此前从未基于该镜像创建过容器,使用docker run命令直接从镜像生成并启动容器,可根据自身需求调整端口映射、卷挂载、环境变量等参数,示例如下:
比如本次导入的镜像ID为docker run -d --name 自定义容器名称 镜像ID/镜像名:TAGe7bdb77cdcd8,可执行:docker run -d --name my-test-container e7bdb77cdcd8 - 方案2:恢复启动已创建的旧容器
若此前已经基于该镜像创建过容器,只是忘记对应容器ID/名称,可先执行以下命令查看所有状态的容器列表:
找到目标容器对应的CONTAINER ID或NAMES字段后,再执行docker ps -adocker start 容器ID/容器名即可正常启动。
内容的提问来源于stack exchange,提问作者user2201789
相关产品推荐
相关产品推荐

