记录一次docker run报错:Error response from daemon: No command specified

No command specified 意为 没有指定命令
背景 由于环境原因从A环境中导出容器使用命令

# docker export :将文件系统作为一个tar归档文件导出到STDOUT。
docker export -o nexus3.tar nexus3

拓展延申下:

docker save

docker save 保存的是镜像(image),docker export保存的是容器(container);

docker load

用来载入镜像包,必须是一个分层文件系统,必须是是save的包;docker

docker import

docker import用来载入容器包,但两者都会恢复为镜像;
docker load不能对载入的镜像重命名,而docker import可以为镜像指定新名称。

docker export

docker export的包会比save的包要小,原因是save的是一个分层的文件系统,export导出的只是一个linux系统的文件目录

导入操作

如果直接使用docker import 会缺失镜像名称及版本 如下
在这里插入图片描述
可以自行tag或者 docker import ***.tar 镜像名称:版本
完成后我们执行docker run命令会报错如下
在这里插入图片描述
此时我们需要加命令执行 命令需要从源头获取 COMMAND即是 复制即可
在这里插入图片描述
然后增加 sh -c “上图复制内容” 执行
在这里插入图片描述
问题解决!

注意事项

1、需要注意两边导入导出docker版本需要一致 如果不一致 通过下面命令获取rpm包

# 查看版本
yum list docker-ce --showduplicates
# 下载指定版本 及依赖 至指定路径
yumdownloader docker-ce-19.03.12-3.el7 --resolve --destdir=/tmp/docker
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐