美文网首页
自动生成runc的config.json文件

自动生成runc的config.json文件

作者: jsqwj | 来源:发表于2019-04-28 19:55 被阅读0次

    有时候编写runc的config.json确实是蛋疼的一件事,后来发现可以直接生成,睿智了。

    拿postgresql举例子吧,首先先用docker运行它的镜像。
    docker run -d postgres:10.7-alpine

    然后去/run/docker下面去查找config.json

    $ sudo find /run/docker -iname "config.json"
    /run/docker/containerd/daemon/io.containerd.runtime.v1.linux/moby/5f07822f92ebf2c485a6dfac8771de4b4fc8fdc4dcabab23adb1337fc847b665/config.json
    

    5f07822f92ebf2c485a6dfac8771d这一串东西就是上面那个容器的id。

    之后可以把镜像打包成tgz
    docker export $(docker create postgres:10.7-alpine) | tar -C rootfs -xvf -
    然后把rootfs下的所有东西直接打包
    tar -czf postgres.tar.gz rootfs

    !!!如果不打包rootfs这个文件夹的话,而是打包里面的文件,有时会出现runc运行容器提示里面的命令权限不足的问题,这是个很蛋疼的问题,很不好察觉

    如果要在其他地方运行这个容器的话,需要改一改config.json里面的一些配置信息,比如里面的

    {
    "root" : {
          "path" : "/var/lib/docker/overlay2/containerID/merged",
          "readonly": false
    }
    }
    

    path需要改成/you-path/rootfs

    也可以在mounts下加上挂载,

      {
                "destination": "/var/lib/postgresql/data",
                "type": "bind",
                "source": "/data",
                "options": [
                    "rbind",
                    "rprivate"
                ]
    }
    

    相关文章

      网友评论

          本文标题:自动生成runc的config.json文件

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