我试图从一台机器上获取一个 docker 容器并在另一台机器上运行它并遇到此错误:“来自守护进程的错误响应:未指定命令”。
下面是一个显示问题的简化示例:
docker --version
Docker version 1.10.1, build 9e83765
docker pull ubuntu
docker run --name u1 -dit ubuntu:latest
docker export -o exported u1
docker stop u1
docker rm u1
docker import exported ubuntu:imported
docker run --name u1 -dit ubuntu:imported
docker: Error response from daemon: No command specified.
Run Code Online (Sandbox Code Playgroud)
在那个例子中,我们首先拉取一个镜像 (ubuntu) 并u1
从它成功创建/运行容器。然后我们将该容器导出到文件 ( exported
),停止/删除容器,将文件导入新映像 ( ubuntu:imported
) 并尝试从中运行新容器。它失败。
Gre*_*ake 27
docker export
不会导出容器的所有内容——只是文件系统。因此,当将转储导入新的 docker 镜像时,需要指定额外的标志来重新创建上下文。
例如,如果原始容器运行良好,因为用于创建其映像的 Dockerfile 包含在其中,则以CMD ["/usr/bin/supervisord"]
这种方式导入转储:
docker import \
--change 'CMD ["/usr/bin/supervisord"]' \
path/to/dump.tar imagename:tagname
Run Code Online (Sandbox Code Playgroud)
小智 14
您可以使用docker load
命令从存档文件加载图像。此命令将一起导入图像文件和 args。
归档时间: |
|
查看次数: |
67005 次 |
最近记录: |