最初在一臺Mac mini上面裝了Docker for OSX和Gitlab用來做項目文件管理。但是MAC Mini的機器比較老舊,而且osx系統運行起來十分緩慢,常常是過一段時間Gitlab就有可能抽筋停止響應。并且Mac Mini作為專用項目代碼管理服務器,需要運行一臺獨立的物理機,很不環保。
前段時間新購置了一臺8700k的臺式機,用下來感覺性能十分強大,但是僅僅寫寫代碼,總體來說硬件利用率不是非常高。于是在這臺機器上面安裝了Docker for?windows,在上面運行Gitlab、PostgreSQL等應用,開機即可自動啟動,使用起來非常方便。
但是在遷移Mac上的Gitlab時,發現Docker for Windows最初Hyper-V默認把虛擬硬盤設在了c盤上。雖然c盤容量是512GB的,但是總覺得這樣不妥,從安全角度來說,docker映像也應該與系統盤分開,因此進行了虛擬硬盤映像文件的遷移。
點擊“Hyper-V設置”,在“虛擬硬盤”文本框里輸入新的映像文件夾地址即可。然而隨即發現Hyper-V在設置了新的虛擬硬盤路徑后,會立即創建一個新的vhdx映像文件,這樣原來docker中運行的gitlab下已有的數據肯定就丟失了。于是狠狠心,備份了新建的映像文件后強行把原來的映像文件拷貝過來,然后重新啟動Hyper-V和Docker,居然Docker運行一切正常如初。
要點:挪動vhdx虛擬硬盤映像文件時一定要首先關閉Docker和Hyper-V。
另外,Gitlab管理的項目文件本身具有備份的性質,但如果把文件放在單一的硬盤或者物理機里面,存在較高的安全隱患。因此如果代碼比較重要或者安全性要求比較高的時候不建議用這種方式。