最初在一台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管理的项目文件本身具有备份的性质,但如果把文件放在单一的硬盘或者物理机里面,存在较高的安全隐患。因此如果代码比较重要或者安全性要求比较高的时候不建议用这种方式。
网友评论