Ошибка "Отсутствует манифест" при запуске $ rkt

У меня есть следующий сценарий оболочки, который создает базу Debian aci контейнер для rkt / appC:

#!/bin/sh
set -e

# $ zcat debian.aci | tree | head
# $ rkt run debian.aci --insecure-options=image

export MY_CHROOT=/var/lib/container/aci/debian

mkdir -p $MY_CHROOT

debootstrap --verbose --arch=amd64 --include=iputils-ping,iproute --variant=minbase stable $MY_CHROOT/rootfs http://httpredir.debian.org/debian

cat > $MY_CHROOT/manifest <<EOF
{
  "acKind": "ImageManifest",
  "acVersion": "0.8.9",
  "name": "debian",
  "labels": [
    {"name": "arch", "value": "amd64"},
    {"name": "os", "value": "linux"},
    {"name": "version", "value": "1.0.0"}
  ],
  "app": {
    "exec": [
      "/bin/sh",
      "echo",
      "Hello, World from $MY_ENV_VAR!"
    ],
    "user": "0",
    "group": "0",
    "environment": [
      {
        "name": "MY_ENV_VAR",
        "value": "$(whoami)"
      }
    ],
  },
  "annotations": {
    "authors": "Istvan Lantos <email@addess.com>"
  }
}
EOF

# use gpg to create a sig, but we'll skip that for now
tar cvvf - $MY_CHROOT/manifest $MY_CHROOT/rootfs | gzip -c > $MY_CHROOT/debian.aci

Чтобы проверить это manifest файл присутствует:

root@debian:/var/lib/container/aci/debian# zcat debian.aci | tree | head
.
├── debian.aci
├── manifest
└── rootfs
    ├── bin
    │   ├── bash
    │   ├── cat
    │   ├── chacl
    │   ├── chgrp
    │   ├── chmod

Когда я пытаюсь запустить этот контейнер с $ rkt run debian.aci --insecure-options=image Команда, я получил следующую ошибку:

run: missing manifest

Я следовал этим инструкциям для структуры файла:

https://github.com/appc/spec

https://github.com/appc/spec/blob/master/spec/aci.md#image-layout

https://github.com/appc/spec/blob/master/examples/image.json

Почему не работает?

Спасибо за помощь!

1 ответ

На самом деле, ошибка вызвана tar который включает в себя абсолютные пути в архиве.

Таким образом, решение заключается в cd в каталоге и не использовать абсолютные пути с префиксом $MY_CHROOT,

Источник: /questions/9833937/sliyanie-dvuh-massivov-vnet/9833971#9833971

Другие вопросы по тегам