从 0 开始在 HyperV 安装 Ubuntu,运行 CasaOS Nas 服务器,并安装额外 Docker 容器。
CasaOS 是一个运行于 Linux 上的 Nas 系统,它不需要作为系统安装,而是运行在 Linux 上。它将 docker 容器作为应用,携带好用的 docker 应用管理功能,同时在自带的应用商店中,也携带一部分 docker 容器。
1. HyperV 网络配置
首先,我们需要让 HyperV 中的虚拟机和我们的主机使用同一个网络。最好方法是,创建一个虚拟网络适配器,然后让主机和虚拟机共同使用创建的虚拟适配器。
在 Hyperv 中的操作位区域(右边),选择 “虚拟交换机管理器” -> “新建虚拟网络交换机” -> "外部" -名称随意> 外部网络选择你的网线或无线网卡(取决于你用的是网线还是无线网卡),我这里使用的是网线 那么是 “Intel(R) Ethernet Connection(11) I219-V” -> 选择 "允许管理操作系统共享此网络适配器"。最好确定即可。
之后你需要检查物理主机的网络适配器是我们创建的那个。
注意:这是,在 Win 控制面板中找到此网络适配器,查看 IP 地址和网关是否与我们之前所用的一致,DNS 服务器是否正确。 如果不一致需要手动更更改(这种情况下往往是没有使用 DHCP 服务器分配)。
2. 下载镜像并处理
2.1 下载镜像
这里我们去 Ubuntu 官网下载镜像,建议选择无 UI 的 Server 版本。 我选择的是 “ubuntu-22.04.3-live-server-amd64.iso”。
3. 新建虚拟机与基础配置
在 HyperV 管理器中新建虚拟机。
- 虚拟机名称与存储位置随意。
- 指定代数选择第一代。
- 分配内存选择 “2048 MB”(参考),去除动态内存。
- 连接选择我们之前创建的网络适配器,要和物理主机在同一个网络下。
- 虚拟硬盘选择, 这里现在 128 GB(由于我之后的 docker 容器都要放在这里面,所以弄大点。)
- 安装选项选择 “从可启动 CD/DVD-ROM 安装操作系统” 选择之前的 iso 镜像。
完成
接下来,点击创建的虚拟机,在 HyperV 管理页面的右下角选择 “设置”。
打开页面后选择网络适配器,点击加号展开,选择 “高级功能”,勾选启用 “MAC 地址欺骗”。 最后点击确定。
4. 安装并配置系统
然后启动虚拟机
选择 “Try or install ubuntu server”。
之后的问是否更新 installer 建议选择不要更新 cotinue without updating.
接下来根据情况一路安装
来到网络配置
注意:网络配置这里,使用 DHCP 分配来的内网 IP 地址也是可以的,不过后面重启后,内网 IP 肯定会发生变化(通常会使用 路由器绑定 IP 与 Mac 地址来实现 DHCP 给的 IP 不变)。
注意:如果对计算机网络不熟悉的话,还是选择 DHCP 分配吧(之后从路由器绑定 Mac地址 与 IP),可以不用像下面我这样手动分配。
我这里就手动 Edit IPV4. (需要根据个人情况配置,也可以选择不手动配置)
我这里 mirror 改为清华大学的 ubuntu 镜像,测试通过了就是网络没问题了。
我这里选择整个 128G 硬盘。
这里为了后面的扩容演示,我就不把 128GB 分配完了。
接下来就是常规安装了,这里不演示了。
记得开启 OpenSSH。
5. 安装 CasaOS
5.1 准备
首先我们来执行 ifconfig
命令,检查一下 ip 是否正确。
我之前设置的 address 192.168.3.151 ,我的是没问题的。
然后执行 df -h
,检查一下空间是否正确。
可以再 ping 以下 baidu.com 看下网络是否没问题。
5.2 安装 CasaOS
CasaOS 官网: https://casaos.io
然后我们直接运行命令,一键安装:
curl -fsSL https://get.casaos.io | sudo bash
这边我换成了 ssh 工具 Termius 来连接。
5.3 进入 CasaOS
安装完成后,我们用浏览器访问 192.168.3.151(:80)
即 http://192.168.3.151/
(根据自己设置的内网 ip 选择访问ip)
来到 CasaOS 欢迎界面。
接下来根据自己设置即可。
6. 安装 Docker 容器
CasaOS 除了当 nas 外,还可以当作很好的 docker 管理器。
在它的 App 商店中已经存在一部分 docker 容器,可以直接安装。
CasaOS App 商店:
添加其它 docker 容器我们只需要点击加号,安装自定义容器。
选择好对应的端口作为入口,再映射容器外和容器内端口即可。