前言
本地的开发环境出了一些问题,docker启动和golang编译基本失效,因此想到使用虚机来解决。
1 环境和软件
本地OS:Windows 11 专业版
VirtualBox:7.0(高版本只能安装在C盘)
Ubuntu镜像:22.04 server
2 安装后配置
2.1 网络
给VM设置两个网络:
- NAT网络:可以让VM访问公网
- 主机网络:开通从主机访问VM(VSCode、SSH工具需要)
- 设置网络配置:
一般情况下第二个网卡在系统启动时是DOWN的状态,并且没有IP,可以采用如下方式设置:
1) 打开netplan,
vim /etc/netplan/50-cloud-init.yaml
(ubuntu高版本使用此配置网卡,配置文件名根据实际情况修改) 2) 修改配置如下(enp0s3是第一块NAT网卡,enp0s8是第二块主机网卡):
network:
ethernets:
enp0s3:
dhcp4: true
enp0s8:
dhcp4: false
addresses:
- 192.168.56.101/24
version: 2
3) 保存后,使用netplay apply
生效。
2.2 共享目录
方便代码文件共享
然后linux下创建映射目录mkdir /opt/go
,修改/etc/fstab
,增加:
go /opt/go vboxsf rw,auto 0 0
(第一个go是共享文件夹名字,/opt/go是挂载目录)。
2.3 安装其他开发工具
在VM中安装golang以及docker等,使用Windows的VScode远程到VM下的项目。
3 VirtualBox一些使用
当VM配置完成后,大多数都是用ssh工具来连接,大多数时间是不需要VBox的窗口的,可以使用如下方式,后台启动VM:
Windows下进入到VBox的安装目录,
- 启动虚拟机:
.VBoxManage.exe startvm [vm-name] --type headless
- 查看启动的虚机列表:
.VBoxManage.exe list runningvms
- 关闭虚拟机:
VBoxManage.exe controlvm [vm-name] poweroff