我的小站:Ean7的小站
为什么不选择windows安装
TimescaleDB 的一些高级工具(例如 TimescaleDB Toolkit)在 Windows 上支持有限,官方建议某些场景使用 Docker/Linux。
| 项目 | Windows原生 | Ubuntu Docker |
|---|---|---|
| 安装 | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| 维护 | ⭐⭐⭐ | ⭐⭐⭐⭐ |
| 升级 | 稍麻烦 | 方便 |
| 备份迁移 | 一般 | 方便 |
| 工业服务器长期运行 | 可以 | 更常见 |
1. 打开服务器管理器
进入:
bash
服务器管理器
↓
添加角色和功能
↓
下一步
选择:
bash
基于角色或基于功能的安装
2. 选择服务器
选择当前 Windows Server。
3. 添加角色
勾选:
bash
☑ Hyper-V
想·弹出:
bash
需要添加管理工具?
选择:
bash
添加功能
继续。
然后都默认设置,只是
默认存储
点击:
bash
Hyper-V
└── 默认存储
会看到两个路径:
虚拟硬盘文件位置
默认一般:
bash
C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks
建议改:
例如:
bash
D:\Hyper-V\Virtual Hard Disks
虚拟机配置文件位置
默认:
bash
C:\ProgramData\Microsoft\Windows\Hyper-V
建议改:
bash
D:\Hyper-V\Virtual Machines
最后点击安装后重启
1. 打开Hyper-V管理器
在搜索框中搜索Hyper-V管理器
2. 创建虚拟交换机
右侧:
bash
虚拟交换机管理器
选择:
bash
外部
绑定你的物理网卡。(注意一定要选对宿主机上的网卡)
例如:
bash
Intel Ethernet Adapter
保存。
3. 新建虚拟机
右侧:
bash
新建
↓
虚拟机
名称:
例如:
bash
ubuntu-docker
代数:
选择:
bash
第二代
内存:
你的服务器128GB:
建议:
bash
16384 MB
即:
16GB
后面可调整。
网络:
选择:
bash
刚才创建的外部交换机
硬盘:
建议:
bash
200GB
动态扩展即可。
安装:
选择:
bash
从可启动的映像文件安装操作系统
挂载
例如:
(下载地址)
bash
ubuntu-22.04.5-desktop-amd64.iso
完成创建。
启动虚拟机:
bash
启动
进入安装界面。
如果报错
bashThe signed image's hash is not allowed (DB)意思:
UEFI Secure Boot 拒绝加载当前 ISO 的启动文件。
解决方法
1. 关闭虚拟机
在 Hyper-V 管理器:
右键你的 Ubuntu 虚拟机:
bash关闭
2. 打开设置
右键:
bashUbuntu虚拟机 ↓ 设置
3. 找到:
bash安全取消:
bash☐ 启用安全启动
安装时一直默认,直到最后
设置用户名和密码
以及选择安装openssh
网络:
一般自动:
bash
DHCP
安装后查看:
bash
ip addr
例如:
bash
192.168.0.20
记录。
创建用户:
例如:
bash
用户名:
docker
密码:
******
建议勾选:
bash
Install OpenSSH Server
这样以后SSH管理。
Hyper-v的终端太难用了,使用其他的ssh远程终端
SSH进入Ubuntu:
先更换镜像源
bashsudo nano /etc/apt/sources.list deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
更新:
bash
sudo apt update
sudo apt upgrade -y
1. 添加阿里云 Docker GPG 密钥
bash
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg \
| sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
检查:
bash
ls -l /etc/apt/keyrings/docker.gpg
应该存在。
2. 添加 Docker 软件源
bash
sudo tee /etc/apt/sources.list.d/docker.list <<EOF
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu jammy stable
EOF
查看:
bash
cat /etc/apt/sources.list.d/docker.list
应该显示:
bash
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu jammy stable
3. 更新 apt
bash
sudo apt update
正常应该看到:
bash
Hit: https://mirrors.aliyun.com/docker-ce/linux/ubuntu jammy InRelease
如果看到:
bash
Err: https://download.docker.com
说明旧源还存在,需要删除:
bash
sudo rm -f /etc/apt/sources.list.d/docker.sources
或者:
bash
ls /etc/apt/sources.list.d/
看看有没有其他 docker 源。
4. 安装 Docker
bash
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
5. 启动 Docker 服务(建议加)
安装完成后:
bash
sudo systemctl enable docker
sudo systemctl start docker
查看:
bash
systemctl status docker
应该:
bash
Active: active (running)
6. 测试 Docker
bash
sudo docker run hello-world
成功会看到:
bash
Hello from Docker!
This message shows that your installation appears to be working correctly.
如果在 拉取镜像阶段失败:
错误:
bashfailed to resolve reference "docker.io/library/hello-world:latest" dial tcp 199.59.148.7:443: connect: connection refused说明:
- ✅ Docker daemon 正常运行
- ✅ Docker 命令正常
- ❌ 访问 Docker Hub (
registry-1.docker.io) 被拒绝这是国内访问 Docker 官方服务的问题。
解决方法:配置 Docker 镜像加速器
编辑 Docker 配置:
bashsudo mkdir -p /etc/docker sudo nano /etc/docker/daemon.json填入:
bash{ "registry-mirrors": [ "https://docker.m.daocloud.io", "https://dockerproxy.com", "https://mirror.ccs.tencentyun.com" ] }保存。
重启 Docker:
bashsudo systemctl daemon-reload sudo systemctl restart docker查看是否生效:
bashdocker info找到:
bashRegistry Mirrors: https://docker.m.daocloud.io/ https://dockerproxy.com/ https://mirror.ccs.tencentyun.com/
再次测试:
bashsudo docker run hello-world正常会输出:
bashHello from Docker! This message shows that your installation appears to be working correctly.
7. (可选)免 sudo 使用 Docker
默认每次需要:
bash
sudo docker ps
如果希望普通用户直接:
bash
docker ps
执行:
bash
sudo usermod -aG docker $USER
然后重新登录:
bash
exit
重新 SSH 登录即可。
验证:
bash
docker ps