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
    1. [root@twilight0319 ~]# docker history centos:self
    2. IMAGE CREATED CREATED BY SIZE COMMENT
    3. c9dfc8a523b0 6 minutes ago bash 87.5MB
    4. <missing> 3 weeks ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0B
    5. <missing> 3 weeks ago /bin/sh -c #(nop) LABEL org.label-schema.sc… 0B
    6. <missing> 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
  • 丢失所有元数据,只保存虚拟机的当前状态。
    1. [root@twilight0319 ~]# docker history centos:111
    2. IMAGE CREATED CREATED BY SIZE COMMENT
    3. ef0539471f16 45 seconds ago 267MB Imported from -

区别

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

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

  1. # 成功,镜像可正常使用
  2. docker load -i save.tar
  3. # 成功,镜像可正常使用
  4. docker import export.tar -- kg:export
  5. # 报错:
  6. # open /mnt/docker-data/tmp/docker-import-774996991/dev/json: no such file or directory
  7. docker load -i export.tar
  8. # 成功,采用不匹配的导入竟然也能成功,但是镜像不可正常使用,
  9. docker import save.tar -- kg:save_import
  10. # 使用镜像时出错,无法读取bash
  11. # 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.
  12. 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.tardocker load -i imagedata.tar
  • 转移容器:docker export containerid> dockertest.tardocker import dockertest.tar -- imagename:tag

OCI runtime create failed: container_linux.go:349: starting container process caused "exec: "bash": executable file not found in $PATH": unknown的更多相关文章

  1. docker: Error response from daemon: OCI runtime create failed: container_linux.go:345: starting container process caused "exec: \"ping\": executable file not found in $PATH": unknown.

    docker: Error response from daemon: OCI runtime create failed: container_linux.go:345: starting cont ...

  2. OCI runtime exec failed: exec failed: container_linux.go:380: starting container process caused: exec: "ip": executable file not found in $PATH: unknown (Docker容器没有ip addr命令:exec ip addr 报错)

    一.报错 1.报错信息1: OCI runtime exec failed: exec failed: container_linux.go:380: starting container proce ...

  3. docker启动报错 docker: Error response from daemon: OCI runtime create failed: container_linux.go:348

    问题描述 doker启动时,报错:docker: Error response from daemon: OCI runtime create failed: container_linux.go:3 ...

  4. centos7.2部署docker-17.06.0-ce的bug:Error response from daemon: oci runtime error: container_linux.go:262: starting container process caused "process_linux.go:339: container init caused \"\"".

    现象: 操作系统:centos 7.2 kernel 3.10.0-327.el7.x86_64 mesos:1.3.0 docker:docker-17.06.0-ce 在做mesos验证时,通过m ...

  5. /usr/bin/docker-current: Error response from daemon: oci runtime error: container_linux.go:247: starting container process caused "process_linux.go:245: running exec setns .....

    docker创建容器时报错如下: containerd: start container" error="oci runtime error: container_linux.go ...

  6. OCI runtime exec failed: exec failed: unable to start container process: exec: "mongo": executable file not found in $PATH: unknown

    前言: 今天按照以往在Docker安装MongoDB的方式安装,但是到最后使用mongo命令执行mongodb命令的时候一直执行不成功,最后还是按照官网的Issues解决了. 创建并运行一个Mongo ...

  7. 【Docker】runtime create failed: container_linux.go:345: 解决

    ------------------------------------------------------------------------------------------------- | ...

  8. 【解决】OCI runtime exec failed......executable file not found in $PATH": unknown

    [问题]使用docker exec + sh进入容器时报错 [root@localhost home]# docker exec -it container-test bash OCI runtime ...

  9. kolla部署openstack allinone,报错APIError: 500 Server Error: Internal Server Error (\"oci runtime error: container_linux.go:235: starting container process caused \"container init exited prematurely

    使用 kolla-ansible 部署 opnenstack:stein 执行 kolla-ansible -i ./all-in-one deploy 开始自动化部署 在部署过程中报错,报错信息如下 ...

随机推荐

  1. FormData 和表单元素(form)的区别

    Form 元素 <form>元素表示文档中的一个区域,此区域包含交互控件,用于向 Web 服务器提交信息(文件.字符).下面称之为表单元素或表单. 要向 Web 服务器提交信息,我们必须要 ...

  2. q 短引用标签

    <q/>标签可以使一段文本作为引用. <p>他说:<q>明天要下雨</q>.</p> 注意,源代码中并没有为这段文字添加引用符号,而是添加了 ...

  3. React报错之React hook 'useState' cannot be called in a class component

    正文从这开始~ 总览 当我们尝试在类组件中使用useState 钩子时,会产生"React hook 'useState' cannot be called in a class compo ...

  4. 刷题记录:Codeforces Round #739 (Div. 3)

    Codeforces Round #739 (Div. 3) 20210907.网址:https://codeforces.com/contest/1560. --(叹). A 不希望出现带" ...

  5. 一些有用的数学知识(Updating)

    文章目录 拉格朗日插值公式 微分中值定理 费马引理 拉格朗日中值定理 柯西中值定理 洛必达法则 连分数(NOI2021 D2T2 考点) 定义 结论 定理1 定理2 定理3 定理4 定理5 欧拉公式 ...

  6. .net core + eureka + spring boot 服务注册与调用

    .net core + eureka + spring boot 服务注册与简单的调用 假期小长假遇上疫情只能去家里蹲了,刚好有时间总结一下. 概述 微服务架构是当前比较火的分布式架构,本篇基于.ne ...

  7. 这三大特性,让 G1 取代了 CMS!

    大家好,我是树哥. 之前我们聊过 CMS 回收器,但那时候我们说 CMS 回收器已经落伍了,现在应该是用 G1 回收器的时候了.那么 G1 回收器到底有什么魔力,它比 CMS 回收器相比强在哪里呢?今 ...

  8. elasticsearch设置密码及Java密码连接

    目录 1. 安装 2. 修改elasticsearch-8.2.2\config\elasticsearch.yml文件里面xpack.security.enabled: false为 3. 重新启动 ...

  9. dotnet 设计规范 · 抽象类

    X 不要定义 public 或 protected internal 访问的构造函数.默认 C# 语言不提供抽象类的公开构造函数方法. 如果一个构造函数定义为公开,只有在开发者需要创建这个类的实例的时 ...

  10. Grafana Mimir:支持乱序的指标采集

    Grafana Mimir:支持乱序的指标采集 译自:New in Grafana Mimir: Introducing out-of-order sample ingestion 很早之前在使用th ...