Получение runc config.json из контейнера докеров

Я пытаюсь создать контейнер runc из контейнера докеров.

Я следил за этим сообщением в блоге и успешно извлек config.json из работающего контейнера Docker. .

Проблема в том, что

  1. Путь, по которому я нашел config.json, отличался от ссылок, которые я нашел в Интернете.
  2. Тот же путь не работает на другом хосте, который, насколько я могу судить, имеет ту же версию докера. На этом хосте мне не удалось найти, где генерируется 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 или чего-то еще?


person kutschkem    schedule 22.01.2019    source источник


Ответы (2)


Я нашел config.json здесь:

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

на ubuntu18.04, версия докера:

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
person lin.qian    schedule 20.12.2019

Ответ @lin.qian экономит мне часы. config.json теперь находится в /run/containerd/io.containerd.runtime.v1.linux/moby/, а не во всех других местах, упомянутых в сообщении с вопросом.

На самом деле, если вы хотите использовать этот файл конфигурации с runc, вам нужно изменить

  • корень

и удалите следующее из "mounts"

  • "/и т.д./хосты"
  • "/etc/имя хоста"
  • "/dev/шм"

и убрать "крючки"

person Dan Qiao    schedule 10.03.2020