Skip to content

Commit ebc62eb

Browse files
committed
Add proxmox-ve
1 parent 0194f14 commit ebc62eb

8 files changed

Lines changed: 240 additions & 0 deletions

File tree

apps/proxmox-ve/8.3.1-1/data.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
additionalProperties:
2+
formFields:
3+
- default: 8006
4+
edit: true
5+
envKey: PANEL_APP_PORT_HTTPS
6+
labelEn: WebUI Port
7+
labelZh: 网页端口
8+
required: true
9+
rule: paramPort
10+
type: number
11+
- default: 192.168.1.2
12+
edit: true
13+
envKey: HOST_ADDRESS
14+
labelEn: IP Address
15+
labelZh: IP地址
16+
required: true
17+
rule: paramCommon
18+
type: text
19+
- default: root
20+
edit: true
21+
envKey: ROOT_PASSWORD
22+
labelEn: Root Password
23+
labelZh: root密码
24+
random: true
25+
required: true
26+
rule: paramComplexity
27+
type: password

apps/proxmox-ve/8.3.1-1/data/pve-cluster/.gitkeep

Whitespace-only changes.

apps/proxmox-ve/8.3.1-1/data/pve-manager/.gitkeep

Whitespace-only changes.

apps/proxmox-ve/8.3.1-1/data/vz/.gitkeep

Whitespace-only changes.
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
services:
2+
proxmox-ve:
3+
image: makedie/proxmox_ve:8.3.1-1
4+
container_name: ${CONTAINER_NAME}
5+
restart: unless-stopped
6+
tty: true
7+
environment:
8+
- root_password=${ROOT_PASSWORD}
9+
- port=${PANEL_APP_PORT_HTTPS}
10+
- TZ=Asia/Shanghai
11+
# devices:
12+
# - /dev/dri
13+
# - /dev/fuse
14+
# - /dev/kvm
15+
# - /dev/vfio
16+
# - /dev/nvidia0
17+
# - /dev/nvidiactl
18+
# - /dev/nvidia-uvm
19+
# - /dev/nvidia-uvm-tools
20+
# - /dev/nvidia-vgpu1
21+
# cap_add:
22+
# - SYS_ADMIN
23+
# - NET_ADMIN
24+
network_mode: host
25+
volumes:
26+
# - /sys/fs/cgroup:/sys/fs/cgroup:ro
27+
# - /sys/fs/cgroup/systemd:/sys/fs/cgroup/systemd
28+
# - /sys/fs/fuse:/sys/fs/fuse
29+
# - /var/run/openvswitch:/host/var/run/openvswitch
30+
- ./data/vz:/var/lib/vz
31+
- ./data/pve-cluster:/var/lib/pve-cluster
32+
- ./data/pve-manager:/var/lib/pve-manager
33+
tmpfs:
34+
- /tmp
35+
- /var/run
36+
- /var/cache
37+
- /run/lock
38+
labels:
39+
createdBy: "Apps"
40+
extra_hosts:
41+
- "shop.maurer-it.com:127.0.0.1"
42+
- "${CONTAINER_NAME}:${HOST_ADDRESS}"
43+
hostname: ${CONTAINER_NAME}
44+
stop_grace_period: 2m
45+
privileged: true

apps/proxmox-ve/README.md

Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
# 在 Docker 里头跑 Proxmox VE
2+
3+
## 说明
4+
5+
在docker里头跑Proxmox VE
6+
主要是给没kvm管理器但又有kvm的机器用
7+
可以部署在群辉之类的地方
8+
9+
## 使用提示
10+
11+
默认账户:root root
12+
13+
1Panel 安装会修改密码,可在应用商店 -> 参数中查看
14+
15+
虚拟机镜像位于 `./data/vz`
16+
17+
已知问题:
18+
19+
- CT(LXC)无法使用;
20+
21+
- 部分机器无法使用网桥;
22+
23+
- 如有虚拟机正在运行可能无法关闭容器
24+
25+
### 检查kvm支持
26+
27+
确定一下你的环境是支持kvm的,内核和硬件都要支持,需要在 BIOS 中打开虚拟化选项
28+
29+
```shell
30+
ls /dev/kvm
31+
lsmod | grep kvm
32+
cat /proc/modules | grep kvm
33+
cat /proc/cpuinfo | egrep 'vmx|svm'
34+
......
35+
```
36+
37+
如果不支持则无法启动虚拟机
38+
39+
### 配置网桥设备
40+
41+
在宿主机上配置好虚拟网桥设备,如 Linux Bridge、OVS Bridge,使虚拟机可以桥接到宿主机的网络
42+
43+
> 如果您的宿主机运行的是 OpenWrt,无需按本节进行配置,默认已经有 br-lan 网桥,直接使用即可
44+
>
45+
> 如果您的宿主机运行的是 DSM,无需按本节进行配置,安装 VMM 套件后,默认已经有 ovs_eth0 网桥,直接使用即可
46+
>
47+
> 如虚拟机无需网络支持,无需按本节进行配置
48+
>
49+
> 如可接受使用 `qemu args` 添加网络,无需按本节进行配置
50+
51+
警告:配置不当可能会导致机器失联
52+
53+
已知问题:1. 按本节操作配置后,在部分系统(fnOS)不能正常展示网络信息;部分机器无法使用网桥,会导致无法开机
54+
55+
注意:以下仅适用于精简安装的 Debian,如果使用了其他网络管理工具,请自行查找教程配置网桥,并使其重启后仍然生效
56+
57+
下面以 Linux Bridge + ifupdown2 为例:
58+
59+
```shell
60+
apt update
61+
apt install ifupdown2 bridge-utils
62+
```
63+
64+
编辑网络接口配置文件:编辑你的网络接口配置文件 `/etc/network/interfaces`
65+
66+
以下是创建一个基本的`br-lan`网桥的示例配置:
67+
68+
```shell
69+
auto lo
70+
iface lo inet loopback
71+
72+
iface enp6s0 inet manual
73+
74+
auto br-lan
75+
iface br-lan inet static
76+
address 192.168.1.2/24
77+
gateway 192.168.1.1
78+
bridge-ports enp6s0
79+
bridge-stp off
80+
bridge-fd 0
81+
```
82+
83+
请将上面的网卡名称、IP地址、网关等替换为你自己的
84+
85+
修改完配置文件后,你需要重启网络服务以应用更改:
86+
87+
```shell
88+
sudo systemctl restart networking
89+
```
90+
91+
### 虚拟机使用已存在的网桥
92+
93+
使用 `docker network inspect 1panel-network``ip a` 查看 `1panel-network` 的网桥设备名称,一般为 br 开头加上网桥设备的 Id,如 `br-71bd14b8df2a`
94+
95+
直接在 PVE 的网络管理页面(节点->系统->网络)里面创建并使用即可,如提示名字过长或保存失败,编辑容器内的 `/etc/network/interfaces` 文件即可
96+
97+
或者进入 PVE 的 Shell 执行以下命令给虚拟机指定网桥:
98+
99+
VM:
100+
101+
```bash
102+
qm set 100 -net0 virtio,bridge=br-71bd14b8df2a
103+
```
104+
105+
CT:
106+
107+
```bash
108+
pct set 100 --net0 name=eth0,bridge=br-71bd14b8df2a
109+
```
110+
111+
没有 DHCP,虚拟机里面手动配置一下 IP、网关、掩码、DNS 即可
112+
113+
```text
114+
IP: 172.18.0.123
115+
Gateway: 172.18.0.1
116+
Netmask: 255.255.255.0
117+
DNS: 223.5.5.5
118+
```
119+
120+
### 直通物理设备
121+
122+
支持 USB、PCI-E 硬件直通,需要改一下 GRUB 的启动参数,加上 IOMMU 支持,如 `intel_iommu=on iommu=pt`,具体参考 PVE 的相关教程
123+
124+
### ovs相关
125+
126+
若将宿主机的`/var/run/openvswitch`挂载入容器`/host/var/run/openvswitch`
127+
且宿主机存在名称带`ovs`字样的网桥,可自动进行部分`ovs-bridge`配置
128+
129+
### 无vmbr联网(性能差)
130+
131+
如果您不方便给 Proxmox VE 的 Docker 容器使用 host 网络类型,您也可以使用 QEMU 的 User 模式进行上网。相当于 QEMU 自动完成了 NAT 操作,只要容器能上网虚拟机就能上网。由于不是专业的转发软件,性能比较一般
132+
133+
Proxmox VE不支持直接配置User模式上网,我们需要删除掉 Proxmox VE 里面的网卡,然后手动添加 QEMU 的运行参数
134+
135+
```shell
136+
qm set <VMID> -args '-netdev user,id=n0 -device virtio-net-pci,netdev=n0,mac=02:11:32:2a:76:f2'
137+
```
138+
139+
使用此方式联网的虚拟机可以正常出站访问,入站访问需要更多额外配置
140+
141+
## 仓库地址
142+
143+
### github
144+
145+
<https://github.com/GreenDamTan/DockerFile/tree/dev/ProxmoxVE>
146+
147+
### docker hub
148+
149+
<https://hub.docker.com/r/makedie/proxmox_ve>

apps/proxmox-ve/data.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: Proxmox VE
2+
tags:
3+
- 实用工具
4+
title: 在 Docker 里头跑 Proxmox VE
5+
description: 在 Docker 里头跑 Proxmox VE
6+
additionalProperties:
7+
key: proxmox-ve
8+
name: Proxmox VE
9+
tags:
10+
- Tool
11+
shortDescZh: 在 Docker 里头跑 Proxmox VE
12+
shortDescEn: Run Proxmox VE in Docker
13+
type: tool
14+
crossVersionUpdate: true
15+
limit: 0
16+
recommend: 0
17+
website: https://hub.docker.com/r/makedie/proxmox_ve
18+
github: https://github.com/GreenDamTan/DockerFile/tree/dev/ProxmoxVE
19+
document: https://github.com/GreenDamTan/DockerFile/blob/dev/ProxmoxVE/readme.md

apps/proxmox-ve/logo.png

3.75 KB
Loading

0 commit comments

Comments
 (0)