栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

OCI runtime create failed: container

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

OCI runtime create failed: container

docker save
  • docker save centos:self -o centos.tar 导出镜像到文件
  • 用于持久化镜像,导出的tar包需要用 docker load -i imagedata.tar 导入
  • 会将镜像的所有layer导出,导出的文件会比较大。
  • docker load 不可指定镜像名和tar。 docker import 可以指定镜像名和tar
  • 可用 docker history 8652b9f0cb4c 查看镜像的layer
    [root@twilight0319 ~]# docker history centos:self
    IMAGE          CREATED         CREATED BY                                      SIZE      COMMENT
    c9dfc8a523b0   6 minutes ago   bash                                            87.5MB    
          3 weeks ago     /bin/sh -c #(nop)  CMD ["/bin/bash"]            0B        
          3 weeks ago     /bin/sh -c #(nop)  LABEL org.label-schema.sc…   0B        
          3 weeks ago     /bin/sh -c #(nop) ADD file:b3ebbe8bd304723d4…   204MB
    
docker export
  • docker export containerid> dockertest.tar 导出容器,导入后又会变成镜像
  • 用于持久化容器。导出成tar包需要用 docker import 导入
    • docker import dockertest.tar -- centos:111 或者 cat dockertest.tar | docker import - imagename:tag
  • 丢失所有元数据,只保存虚拟机的当前状态。
    [root@twilight0319 ~]# docker history centos:111
    IMAGE          CREATED          CREATED BY   SIZE      COMMENT
    ef0539471f16   45 seconds ago                267MB     Imported from -
    
区别

将两种方式导出的tar包再导入成镜像后,重新运行容器,功能上没有任何区别。

做了一些测试,现在有两个文件:export.tar 和 save.tar 分别是采用export和save的方式导出的。如果采用不匹配的方式导入会怎么样呢:

# 成功,镜像可正常使用
docker load -i save.tar

# 成功,镜像可正常使用
docker import export.tar -- kg:export

# 报错: 
# open /mnt/docker-data/tmp/docker-import-774996991/dev/json: no such file or directory
docker load -i export.tar

# 成功,采用不匹配的导入竟然也能成功,但是镜像不可正常使用,
docker import save.tar -- kg:save_import

# 使用镜像时出错,无法读取bash
# docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "exec: "bash": executable file not found in $PATH": unknown.
docker run -itd --name kg_save_import  kg:save_import bash
坑

这四个命令的对应关系不可出错,否则,会出现奇怪的问题比如:

这东西真是巨坑
Error response from daemon: OCI runtime create failed: container_linux.go:349 : starting container process caused “exec: “bash”: executable file not found in $PATH”: unknown

  • 转移镜像: docker save imagename:tag -o imagedata.tar 和 docker load -i imagedata.tar
  • 转移容器:docker export containerid> dockertest.tar 和 docker import dockertest.tar -- imagename:tag
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/944306.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号