簡體   English   中英

Packer腳本可以更改從ISO構建的輸出映像嗎?

[英]Can a Packer script change an output image built from an ISO?

我正在嘗試使用Packer使用boot2docker ISO 從ISO構建Vagrant框 一切順利,直到我嘗試運行無所事事,然后失敗並顯示“錯誤:身份驗證失敗。正在重試...”。 這個盒子還行-我可以通過提供密碼來使用vagrant ssh。 但是ssh身份驗證不起作用。

事實證明這是已知解決方案的已知問題-在包裝盒上的.ssh / authorized_keys中添加公共密鑰。 如果在使用密碼訪問該框后手動執行此操作,則以后不需要該密碼。 因此,我更新了Packer腳本以執行此操作-並發現對引導卷所做的更改被丟棄而沒有任何效果。 Packer腳本對其他卷的工作有所更改,但對引導卷卻沒有更改,這是我需要更新的內容。 看起來它只能是ISO的映像。

我唯一的選擇是使用預安裝的公鑰創建自己的ISO嗎? 有什么方法可以使用Packer將密鑰應用於輸出盒嗎?

這是一個古老的問題,但是由於沒有答案,我會做出貢獻。

我遇到了同樣的問題; 無論我在Kickstart腳本或預配器腳本中進行了什么更改,我對無業游民用戶的authorized_key的更改在Packer構建的最后一個框中都不可見。 直到我意識到Vagrant一​​直使用所構建的Vagrant盒的緩存(和更舊!)版本而不是最新版本。

原因是該盒子被Vagrant復制了一次,稱為“我的盒子”,即使在我測試此修復程序時盒子本身發生了變化,Vagrant仍然使用沒有我的修復程序的舊版本,因為它緩存了它,並且確實不經常檢查更新。 最簡單的解決方案是添加

config.vm.box_check_update = true

到您的Vagrantfile。 另外,您也可以通過一些Ruby代碼讓您的Vagrantfile每次在config.vm.box為框指定一個不同的名稱。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM