---
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)。