multipass中docker的使用及固定ip的配置

之前一直用WSL2,但是可能我高估了我笔记本的性能,每次开启后我的win11都闪得厉害。

公司给配发的联想昭阳

前两天实在受不了,把它重装了。才发现之前一直很抵触重装,结果重装完工作几乎没怎么受影响...阿噗!
结果很快又要用到数据库了,想着装docker太重了,该咋办呢?简单搜了一下,还是选择了multipass。

安装过程很简单,照着 https://ubuntu.com/blog/replacing-docker-desktop-on-windows-and-mac-with-multipass 里面的过程就行。

重大利好:才发现原来hyper-v管理器可以绕过multipass对虚拟机进行启动和关闭,甚至还能轻松修改分配好的内存和CPU数量等,简直不要太好用

安装Multipass和docker

你可以看上面这篇文章,或者如果英文不行我这里简单翻译一下。或者跳过这一节就行。

创建multipass虚拟机

先到 https://multipass.run/install 点 Windows下载安装程序安装:


image

安装完打开Powershell,一次性执行下面这一堆命令。这样会创建一个叫docker-vm的虚拟机,如果不想创建,Multipass自己也带了一个叫primary的

@'
groups:
- docker
snap:
  commands:
  - [install, docker]
runcmd:
- adduser ubuntu docker
'@ | multipass launch --cloud-init - --disk 40G --mem 4G --cpus 4 --name docker-vm

image

创建的过程中会下载ubuntu,根据你网速,估计要一大会。

使用docker

上面的虚拟机创建好以后就已经安装好docker了。

你可以回头看一下命令里怎么安装的docker

不过现在想使用docker需要进入虚拟机:
image

点击Open shell会弹出虚拟机的终端窗口。

为了方便,这里要使用一些技巧。先把虚拟机起个别名,执行multipass alias docker-vm:docker
现在我们可以通过multipass docker执行docker命令了,比如

multipass docker run hello-world

这样会在虚拟机下载并启动docker镜像hello-world。
可以把multipass加到环境变量,这样就连Multipass都不用写了:
image

现在直接执行docker run hello-world就好像真的执行docker命令一样了。

设置固定ip(static IP)

创建虚拟网卡

打开Hyper-V管理器,选择虚拟机管理器
image
创建交换机
image
取个名字,选你的无线网卡(有线不知道可以不,应该也行)
image
设置虚拟机
image
添加网卡,选择你刚创建的,确定
image

设置固定IP

打开网卡设置,为其设置IP
image
如果不知道该写啥,就在命令行通过ipconfig查看目前的IP,写进去
image

设置虚拟机网络

进入虚拟机命令行,切到/etc/netplan,编辑

image
增加刚设置的IP同网段的任意IP

image


现在可以到主机里面把固定ip配到hosts文件里了:)

posted @ 2022-10-10 10:22  大卫小东(Sheldon)  阅读(1394)  评论(0编辑  收藏  举报