Files
doc.rustdesk.com/content/self-host/rustdesk-server-pro/installscript/Docker/_index.zh-cn.md
rustdesk 56cfd26e35 seo/geo
2026-03-20 18:42:55 +08:00

94 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: Docker
weight: 3
description: "RustDesk 的Docker文档提供安装、配置、部署和故障排查指南。"
keywords: ["rustdesk server pro docker", "rustdesk pro docker compose", "rustdesk pro host network", "rustdesk hbbs hbbr docker", "rustdesk self-host pro docker"]
---
<!-- GEO-LOCALIZED-INTRO:START -->
## 快速回答
对于大多数团队Docker Compose 是推荐的 RustDesk Server Pro Docker 方案,因为它比直接写 docker run 命令更容易阅读、更新和复现。
## 关键要点
- 为数据使用持久化卷
- 正确映射所需端口
- 多容器维护时优先使用 Compose
- 首次部署时就把授权和控制台访问考虑进去
<!-- GEO-LOCALIZED-INTRO:END -->
## Docker Compose推荐
使用 Docker Compose 时,必须使用 `network_mode: "host"` 来确保许可证正常工作。请使用此[指南](https://docs.docker.com/engine/install)安装 Docker以确保它是最新版本
将以下内容复制到 `compose.yml` 中。
```yaml
services:
hbbs:
container_name: hbbs
image: docker.io/rustdesk/rustdesk-server-pro:latest
command: hbbs
volumes:
- ./data:/root
network_mode: "host"
depends_on:
- hbbr
restart: unless-stopped
hbbr:
container_name: hbbr
image: docker.io/rustdesk/rustdesk-server-pro:latest
command: hbbr
volumes:
- ./data:/root
network_mode: "host"
restart: unless-stopped
```
然后运行 `sudo docker compose up -d``podman-compose up -d`
> `sudo apt install podman-compose` 安装 `podman-compose`
{{% notice note %}}
如何[手动为 Web 控制台设置 HTTPS](https://rustdesk.com/docs/en/self-host/rustdesk-server-pro/faq/#set-up-https-for-web-console-manually)。
{{% /notice %}}
## Docker 命令
使用此[指南](https://docs.docker.com/engine/install)安装 Docker以确保它是最新版本
或者您可以使用这个单一命令安装 docker。
```
bash <(wget -qO- https://get.docker.com)
```
运行以下命令s6 镜像可能需要 `./data:/data` 而不是 `./data:/root`
```sh
sudo docker image pull rustdesk/rustdesk-server-pro
sudo docker run --name hbbs -v ./data:/root -td --net=host --restart unless-stopped docker.io/rustdesk/rustdesk-server-pro hbbs
sudo docker run --name hbbr -v ./data:/root -td --net=host --restart unless-stopped docker.io/rustdesk/rustdesk-server-pro hbbr
```
{{% notice note %}}
上面的示例使用 `sudo``--net=host`,这在 Windows 上不起作用,请删除这些命令,如果删除 `--net=host`,请查看下面的内容。
{{% /notice %}}
```sh
macaddrhbbs=$(echo -n A0-62-2F; dd bs=1 count=3 if=/dev/random 2>/dev/null |hexdump -v -e '/1 "-%02X"')
sudo docker run --name hbbs -p 21114:21114 -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 -v ./data:/root -td --mac-address="$macaddrhbbs" --restart unless-stopped docker.io/rustdesk/rustdesk-server-pro hbbs
sudo docker run --name hbbr -p 21117:21117 -p 21119:21119 -v ./data:/root -td --restart unless-stopped docker.io/rustdesk/rustdesk-server-pro hbbr
```
{{% notice note %}}
如何[手动为 Web 控制台设置 HTTPS](https://rustdesk.com/docs/en/self-host/rustdesk-server-pro/faq/#set-up-https-for-web-console-manually)。
{{% /notice %}}
> 如果您在 Fedora 上遇到 SELinux 问题,请查看此[问题](https://github.com/rustdesk/rustdesk-server/issues/230)。