Добавьте локальную зависимость к ACI в acbuild

В настоящее время я экспериментирую со строительством ACI для rkt-контейнеров. Во время моих экспериментов я построил несколько контейнеров специально для использования в качестве зависимости. Теперь я хочу использовать эти изображения.aci в качестве зависимости для других изображений. Поскольку эти файлы выбираются по имени (например, "quay.io/alpine-sh"), мне интересно, есть ли способ обратиться к фактическим локальным файлам.aci.

Есть ли способ импортировать эти файлы.aci из локальной файловой системы или мне нужно настроить локальный веб-сервер в качестве хранилища?

1 ответ

Зависимости в acbulid (по крайней мере до версии 0.3) можно определить только как http-ссылки, поэтому вам нужно сделать ACI доступным через http, чтобы использовать его в качестве зависимости в acbuild. Не так сложно опубликовать свой ACI, чтобы сделать его доступным через http. Архив изображений может быть размещен на github или bitbucket.

Последние версии acbuild, кажется, поддерживают это, так как связанная проблема (зависимости кэша между вызовами acbuild #144) закрыта.

Кэшированные ACI хранятся в каталогах depstore-tar а также depstore-expanded внутри $CONTEXT_ROOT/.acbuild, Если мы сохраним каким-либо образом содержимое этих каталогов между acbuild init, acis не будет загружаться снова и снова.

Когда я играл с acbuild, я был настолько раздражен, что acbulid перезагружал зависимости для каждой сборки. Я написал сценарий https://bitbucket.org/legeyda/anyorigin/src/tip/acbuild-plusкоторый настраивает символические ссылки внутри $CONTEXT_ROOT/.acbuild указать на постоянство каталогов внутри /var/lib/acbuild/hack, Использование простое:

acbuild begin
acbuild-plus init target

После этого все зависимости будут кэшироваться с помощью acbuild.

Вы также можете вручную установить aci-файл, который будет доступен для acbuild. Это так же просто, как

acbulid-plus install <your-image.aci>

Я протестировал скрипт с acbuild v0.3.0. Вы можете получить пример использования этого в Makefile рядом с acbuld-plus в хранилище.

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