2

現在、rkt-containers の ACI 構築を実験しています。実験中に、特に依存関係として使用するためにいくつかのコンテナーを作成しました。これらの .aci イメージを他のイメージの依存関係として使用したいと考えています。これらのファイルは名前 (「quay.io/alpine-sh」など) でフェッチされるため、実際のローカル .aci ファイルを参照する方法があるかどうか疑問に思います。

これらの .aci ファイルをローカル ファイル システムからインポートする方法はありますか? または、リポジトリとして機能するようにローカル Web サーバーをセットアップする必要がありますか?

4

1 に答える 1

3

acbulid の依存関係 (少なくともバージョン 0.3 まで) は http リンクとしてのみ定義できるため、acbuild で依存関係として使用するには、http を介して aci を利用できるようにする必要があります。aci を公開して http から利用できるようにするのはそれほど難しくありません。イメージ アーカイブは、実際には github または bitbucket でホストできます。

関連する問題 (acbuild 呼び出し間のキャッシュの依存関係 #144) がクローズされているため、最近のバージョンの acbuild はそれをサポートしているようです。

キャッシュされた ACI は、ディレクトリdepstore-tardepstore-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-file を手動でインストールして、acbuild で使用できるようにすることもできます。これは次のように簡単です

acbulid-plus install <your-image.aci>

acbuild v0.3.0 でスクリプトをテストしました。acbuld-plusリポジトリ内の次の Makefile で使用例を取得できます。

于 2016-10-05T13:46:41.787 に答える