从Docker容器获取Runc config.json

时间:2019-01-22 08:11:08

标签: docker runc containerd

我正在尝试从docker容器创建一个runc容器。

我遵循了这个blog post,并成功地从正在运行的docker容器中提取了config.json。

问题是

  1. 我找到config.json的路径与我在网上找到的引用不同
  2. 就我所知,同一路径在具有相同docker版本的其他主机上不起作用。在该主机上,我无法找到config.json的生成位置。

关于在哪里可以找到config.json的信息,我有冲突,并且无法在主机上找到它。

|config.json location                     | source                         |
|-----------------------------------------|--------------------------------------------|
|/run/docker/libcontainerd/<container id> | http://crunchtools.com/getting-ninja-runc/ |
|/var/run/docker/libcontainerd/<container id> |https://github.com/genuinetools/riddler |
|/var/run/docker/containerd/daemon/io.containerd.runtime.v1.linux/moby/<container id> | my host #1 |
| ??? | my host #2 |

我还可以检查其他哪些位置,以及如何确定该位置?是否在某处进行了配置,这是否取决于docker,contained,runc或其他版本的版本?

2 个答案:

答案 0 :(得分:0)

我在这里找到config.json:

/run/containerd/io.containerd.runtime.v1.linux/moby/container_id/config.json

在ubuntu18.04上,docker版本:

Client: Docker Engine - Community
 Version:           19.03.4
 API version:       1.40
 Go version:        go1.12.10
 Git commit:        9013bf583a
 Built:             Fri Oct 18 15:54:09 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.4
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.10
  Git commit:       9013bf583a
  Built:            Fri Oct 18 15:52:40 2019
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.2.10
  GitCommit:        b34a5c8af56e510852c35414db4c1f4fa6172339
 runc:
  Version:          1.0.0-rc8+dev
  GitCommit:        3e425f80a8c931f88e6d94a8c831b9d5aa481657
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

答案 1 :(得分:0)

@ lin.qian的答案为我节省了时间。 config.json现在位于$(function(){ var day, formatted, disallowed = ["03/17/2020","03/18/2020","03/19/2020"]; $("#datepicker").datepicker({ beforeShowDay: function(date) { day = date.getDay(); formatted = $.datepicker.formatDate('mm/dd/yy', date); // If it is a Tue or a Fri, AND it is not in the disallowed list, // it should be selectable if ((day == 2 || day == 5) && disallowed.indexOf(formatted) === -1) { return [true]; } else { return [false]; } } }) }); 中,而不是问题中提到的所有其他位置。

实际上,如果您进一步想将此配置文件与runc一起使用,则需要修改

  • root

并从“安装”中删除以下内容

  • “ / etc / hosts”
  • “ / etc / hostname”
  • “ / dev / shm”

并删除“钩子”