0

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

我关注了这篇文,并成功地从正在运行的 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、containerd、runc 或其他的版本?

4

2 回答 2

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
于 2019-12-20T07:34:08.227 回答
0

@lin.qian 的回答为我节省了几个小时。config.json 现在位于/run/containerd/io.containerd.runtime.v1.linux/moby/而不是问题帖子中提到的所有其他位置。

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

并从“mounts”中删除以下内容

  • “/等/主机”
  • “/etc/主机名”
  • “/开发/shm”

并删除“钩子”

于 2020-03-10T00:33:16.670 回答