multipass开发心得

准备

windows用户名必须为英文
默认安装multipass(不要修改安装目录)
默认安装visualbox(不要修改安装目录)
admin模式打开powershell

下载virtualbox

  • https://www.virtualbox.org/wiki/Downloads

virtualbox模式启动关联multipass

  • multipass set local.driver=virtualbox
  • multipass launch -c 4 -d 50G -m 4G --name ubuntu

让multipass instance在virtual box中显示:

  1. 下载PSTools.zip: https://multipass.run/docs/using-virtualbox-in-multipass-windows
  2. 解压到 USERPROFILE\Downloads\PSTools\PsExec.exe
  3. admin运行Powershell
  4. 执行 & $env:USERPROFILE\Downloads\PSTools\PsExec.exe -s -i $env:VBOX_MSI_INSTALL_PATH\VirtualBox.exe
  5. 出现火绒弹窗, 在火绒隔离区找到PSEXEC.EXE, 恢复, 添加到信任列表
  6. 执行 & $env:USERPROFILE\Downloads\PSTools\PsExec.exe -s -i $env:VBOX_MSI_INSTALL_PATH\VirtualBox.exe
  7. virtual box中就可以正常显示了multipass instance了

端口转发:

默认启动multipass Ubuntu系统的网络跟主机的连接方式是NAT模式:

  1. 关闭windows防火墙和防火墙软件防火墙

  2. admin运行Powershell, 执行:
    & $env:USERPROFILE\Downloads\PSTools\PsExec.exe -s $env:VBOX_MSI_INSTALL_PATH\VBoxManage.exe controlvm "ubuntu-1" natpf1 "myservice,tcp,,8080,,8000"

  3. image.png
  4. image.png
  5. 在Ubuntu内启动 python3 -m http.server

  6. 在host机器上访问 localhost:8080 测试是否成功

  7. 在其他人机器上访问 IP:8080 测试是否成功

这样就将Ubuntu上的8000端口映射到host机器上的8080了

SSH连接到Ubuntu

  1. 打开powershell
  2. 创建一个ssh key
  3. cat ~/.ssh/id_rsa.pub 复制
  4. multipass shell ubuntu
  5. vi ~/.ssh/authorized_keys
  6. 把上面复制的key 追加到后面, 保存
  7. 上面visualbox 默认映射了端口55275到Ubuntu的22端口, 我们则: ssh ubuntu@localhost -p 55275 即可

你可能感兴趣的:(multipass开发心得)