---
title: 高级功能
description: 了解如何使用应用程序中的高级功能。
---

本节旨在为需要在 Dokploy 中管理复杂配置和编排设置的高级用户提供支持。在这里，您可以执行自定义命令、管理集群副本、选择 Docker 注册表以及配置 Docker Swarm 设置。

### 运行命令

- **目的**：允许用户在容器内直接执行自定义 Shell 命令。
- **用法**：在提供的字段中输入需要运行的命令，然后单击“保存”以在容器环境中执行。这一工具特别适合调试或特定管理任务。

### 集群设置

- **目的**：管理应用程序在多个服务器或节点上的扩展和分布。
- **副本数**：设置应运行的应用程序实例数量。
- **注册表选择**：选择将从中提取容器映像的 Docker 注册表。这对于确保在部署过程中使用正确的映像至关重要。

#### 重要提示
修改集群设置后，请始终点击“重新部署”以应用更改。

### Swarm 设置

Swarm 设置允许详细配置容器在 Docker Swarm 中的编排方式。

#### 健康检查

- **目的**：确保容器平稳运行，并在失败时重新启动它们。
- **配置**：指定测试命令、间隔、超时、启动时间和重试次数等参数。

#### 重启策略

定义容器在退出或失败时的处理方式，配置如下：

- **条件**：指定应在何种条件下发生重启。
- **延迟**：设置重启之间的时间延迟。
- **最大尝试次数**：限制重启尝试的次数。
- **窗口**：定义用于评估重启策略的时间窗口。

#### 更新配置

管理 Swarm 中服务的部署和更新过程，配置如下：

- **并行性**：同时更新的容器数量。
- **延迟**：更新之间的时间。
- **失败操作**：更新失败时采取的操作。
- **监控**：更新后监控容器的持续时间。
- **最大失败比例**：在更新被视为失败之前，允许失败的容器比例。
- **顺序**：在更新过程中停止和启动容器的顺序。

#### 放置

根据特定规则和偏好控制容器在 Swarm 中的位置，配置如下：

- **约束条件**：容器放置在节点上必须满足的条件。
- **偏好设置**：在节点之间均匀分配容器的放置偏好。

### 回滚配置

管理更新失败时服务的回滚过程，配置如下：

- **并行性**：同时回滚的容器数量。
- **延迟**：回滚之间的时间。
- **失败操作**：回滚失败时采取的操作。
- **监控**：回滚后监控容器的持续时间。
- **最大失败比例**：在回滚被视为失败之前，允许失败的容器比例。
- **顺序**：在回滚过程中停止和重新启动容器的顺序。

### 模式

定义服务在 Swarm 中的复制方式，配置如下：

- **复制模式**：服务根据指定的设置在节点上复制。
- **副本数**：每个服务的副本数量。
- **全局模式**：每个节点运行服务的单个实例。
- **复制作业**：以复制的方式运行作业。
- **最大并发**：同时运行的作业最大数量。
- **总完成次数**：作业需要完成的总次数。

### 网络

配置服务的网络设置，配置如下：

- **目标**：指定网络名称。
- **别名**：为网络提供别名。
- **驱动程序选项**：网络驱动程序选项，如 MTU 大小和主机绑定。

### 标签

为容器分配元数据以帮助识别和组织，配置如下：

- **标签**：分配给服务的键值对。例如：
1. `com.example.app.name`: "my-app"
2. `com.example.app.version`: "1.0.0"

### 注意
修改 Swarm 设置需要谨慎考虑，因为不正确的配置可能会干扰整个容器编排。始终确保您理解所做更改的影响。

## 资源

管理分配给您的应用程序或数据库的内存和 CPU 资源。

- **内存保留**：保证应用程序的最小内存量。
- **内存限制**：应用程序可以使用的最大内存量。
- **CPU 限制**：应用程序可以使用的最大 CPU 单位数量。
- **CPU 保留**：为应用程序保留的最小 CPU 单位数量。

### 卷/挂载

配置应用程序的持久存储，以确保数据在容器重启和部署之间保持完整。

**绑定挂载**：将主机文件或目录映射到容器文件或目录。通常用于特定配置或数据库。
1. **主机路径**：主机上的路径。
2. **挂载路径**：容器中的路径。

**卷挂载**：使用 Docker 管理的卷，比绑定挂载更易于备份和迁移。
1. **卷名称**：Docker 管理的卷名称。
2. **挂载路径**：容器中挂载卷的路径。

**文件挂载**：专门用于单个文件，适用于配置文件。
1. **内容**：要存储在文件中的内容。
2. **挂载路径**：容器中放置文件的路径。

文件挂载是 Dokploy 的一个功能，它在项目内部的 `files` 文件夹中创建一个文件，因此每次部署项目时都会重新创建。

<ImageZoom src="/assets/file-mount-configuration.webp" width={800} height={630} className="rounded-lg"/>

<ImageZoom src="/assets/file-mount.png" width={800} height={630} className="rounded-lg"/>

### 重定向

根据指定的规则将请求重定向到应用程序的另一个 URL，提高导航效率和 SEO。

- **正则表达式**：输入一个正则表达式以匹配需要重定向的 URL。
- **替换**：指定流量应重定向到的目标 URL。
- **永久性**：启用此选项以应用永久性 (HTTP 301) 重定向，指示浏览器和搜索引擎页面已永久移动。

#### 示例
要将所有流量从 "http://localhost" 重定向到 "http://mydomain"，请将正则表达式设置为 `http://localhost/(.*)`，并将替换设置为 `http://mydomain/$1`。

### 安全

为您的应用程序添加基本身份验证以限制访问。

- **用户名**：输入用户名。
- **密码**：输入密码。

#### 重要提示
添加基本身份验证将在允许访问应用程序之前提示用户输入用户名和密码。在需要额外安全层的环境中使用此功能。

### 端口

通过配置网络端口将应用程序暴露于互联网，允许外部访问。

- **发布端口**：将路由流量到您的应用程序的主机上的端口号。
- **目标端口**：容器内应用程序使用的端口号。
- **协议**：根据应用程序的要求选择 TCP 或 UDP。

#### 重要提示
确保发布端口不会与主机上的其他服务冲突，以避免端口绑定错误。此外，此端口主要用于从外部访问应用程序，例如 `your-ip:port`，而不是通过域访问应用程序。

### Traefik

提供了一种动态且强大的方法来管理 HTTP 流量到您的服务，包括负载均衡和 SSL 终止。

- **规则**：使用 Traefik 强大的基于规则的配置系统定义复杂的路由、负载均衡和安全配置。
