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

区别

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

做了一些测试,现在有两个文件:export.tarsave.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.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. java学习第一天.day06

    方法 方法的优点 1. 使程序变得更简短而清晰. 2. 有利于程序维护. 3. 可以提高程序开发的效率. 4. 提高了代码的重用性. static的作用 static在方法中如果没有添加就只能用对象调 ...

  2. jQuery 选择器选中某节点,在后续的链式操作函数内使用 $(this) 的结果是 Window 对象,而非该节点对象

    <ul class="tree-ocx"> <li class="tree-ocx-li" data-displayed="fals ...

  3. Flutter 开启 Windows、macOS 平台支持的命令

    Flutter 的多平台支持除了 Android 和 iOS 是默认开启的以外,比如 Windows.Linux 平台的支持需要手动开启. Flutter config 命令集中,有以下参数是对于平台 ...

  4. java.lang.UnsatisfiedLinkError报错

    是因为使用maven时,运行web项目时,在maven的依赖包没有打包到tomcat中(out目录中),所以要手动加上

  5. C++ 对于函数名的操作,函数名本身和取*以及取&的区别

    void TestFunc() { } int _tmain(int argc, _TCHAR* argv[]) { cout<<TestFunc<<endl; cout< ...

  6. C语言小游戏:贪吃蛇

    #include <graphics.h> #include <conio.h> #include <stdio.h> #define WIDTH 40 //设置宽 ...

  7. python_跨文件二维全局变量传参

    因为业务需要,我需要创建一个可以在多模块公用全局变量,根据https://www.jianshu.com/p/6cee728f3490的代码,因为他提供的只能生成 { k: v, kk: v ... ...

  8. linux下安装mysql(rpm安装)

    Mysql 5.7.29安装步骤 1.首先卸载自带的Mysql-libs(如果之前安装过mysql,要全都卸载掉) rpm -qa | grep -i -E mysql\|mariadb | xarg ...

  9. avue常用场景记录

    接手的一个项目使用的是avue这个傻瓜式的专门给后端人员用的框架,文档不够友好,使用起来各种蛋疼(咱专业前端基本上不使用).为此,专门记录一下.当前avue版本2.8.12,如果要切换avue的版本, ...

  10. FastDFS配置文件思维导图(内含各配置文件详细参数说明)