美文网首页
记录个坑,docker save/export的镜像差异与imp

记录个坑,docker save/export的镜像差异与imp

作者: 半介一生 | 来源:发表于2021-07-13 09:36 被阅读0次

    现象:
    docker import镜像导入正常,但docker run时报错。

    docker import .\essv1.tar ess:v1

    docker run -d --name ess --privileged=true -p22:22 -p8080:8080--entrypoint /usr/sbin/init ess:v1
    9f2c851e54e4a30564139931bae64fc06432b73328d3b5f189b27f96c716af3e

    报错:
    docker: Error response from daemon: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "/usr/sbin/init": stat /usr/sbin/init: no such file or directory: unknown.

    网上找到的各个帖子也都没说到点子上,一开始以为是权限问题,又或者是漏打包了导致文件不存在, 折腾了一天都没找到解决的办法,后来终于发现原因,记录下防止别人踩同样的坑。

    差异:
    两者输出的虽然都是tar,但save的和export的包结构不一样,用解压软件看,一个是按linux文件系统结构,一个多层tar,每个tar是一个增量。

    原因:
    一句话:因为生成的镜像用的是docker save生成的,导入用的是docker import,虽然可以导入,但这镜像docker run时会出显示上的错,改用docker load 就能正常。

    这两种tar结构应该被区别处理,docker最好是有个提示。

    相关文章

      网友评论

          本文标题:记录个坑,docker save/export的镜像差异与imp

          本文链接:https://www.haomeiwen.com/subject/stpjpltx.html