我目前正在嘗試使用rkt容器的ACI構造。在我的實驗過程中,我已經構建了一些容器,特別是用作依賴項。我現在想要使用這些.aci圖像作爲其他圖像的依賴關係。由於這些文件是按名稱提取的(例如「quay.io/alpine-sh」),我想知道是否有辦法引用實際的本地.aci文件。在acbuild中向ACI添加本地依賴
有沒有辦法從本地文件系統導入這些.aci文件,還是必須設置本地Web服務器來充當存儲庫?
我目前正在嘗試使用rkt容器的ACI構造。在我的實驗過程中,我已經構建了一些容器,特別是用作依賴項。我現在想要使用這些.aci圖像作爲其他圖像的依賴關係。由於這些文件是按名稱提取的(例如「quay.io/alpine-sh」),我想知道是否有辦法引用實際的本地.aci文件。在acbuild中向ACI添加本地依賴
有沒有辦法從本地文件系統導入這些.aci文件,還是必須設置本地Web服務器來充當存儲庫?
acbulid中的依賴關係(至少到版本0.3)只能被定義爲http鏈接, ,所以你需要通過http使你的aci可用,作爲acbuild的依賴。 通過http發佈你的aci並不難。圖像存檔可以實際上託管在github或bitbucket上。
由於相關問題(跨acbuild調用#144的緩存依賴性)關閉,最近版本的acbuild似乎支持它 。
緩存的ACI被存儲在內部的目錄depstore-tar
和depstore-expanded
中。如果我們不知何故將這些目錄的內容保存在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的腳本。 您可以在存儲庫中的acbuld-plus
旁邊的Makefile中使用它。