简体中文
使用 compose 创建容器
在 DPanel 系统中,一个 Compose 为一个独立的目录,存放到 /dpanel/compose 目录中。任务目录中必须包含 docker-compose.yaml compose.yaml 文件。
你可以根据自己的需求使用不同的方式来管理你的 Compose 任务。
文本创建
通过直接编辑 yaml 文件创建一个 Compose 任务,面板提供了多种导入 compose.yaml 文件的方法。
远程地址
使用远程 yaml 地址创建任务。与文本创建的区别在于你可以随时在详情页内同步远程的 yaml 文件内容。
Git 仓库 DPanel Version >= 1.9.1
可直接将远程 git 仓库克隆到本地创建任务。克隆仓库的时候可以指定分支、tag。
挂载目录
面板会自动在 /dpanel/compose 目录中扫描符合规范的 Compose 项目。 你可以通过改变面板容器的挂载或是软链接的形式可以将面板中的 /dpanel/compose 目录到主机上的其它位置。
目录规范
TIP
每个项目需创建一个子目录,目录名称即为标识。 子目录中包含 docker-compose.yaml、docker-compose.yml、compose.yaml、compose.yml 文件之一。
/dpanel
├─ /compose
│ ├─ /easyimage 项目子目录,目录名即为标识
│ │ ├─ docker-compose.yaml 该项目的 compose yaml 文件
│ │ └─ docker-compose-override.yaml 自定义覆盖配置文件,以 override.yaml override.yml 结尾
│ ├─ /lucky
│ │ └─ compose.yaml
│ ├─ /qinglong 其它项目
│ │ └─ compose.yml
│ └─ ...
└─ ....挂载容器 compose 目录
挂载目录时,你不仅可以挂整个 Compose 目录,也可以单独将某一个项目挂载到面板容器中。
js
docker run -d -it --name dpanel ...(省略其它参数)... -v /home/dpanel:/dpanel \
-v /mnt/compose:/dpanel/compose -v /test/dpanel:/dpanel/compose/dpanel \
dpanel/dpanel:latest软链接二进制 compose 目录
以下示例适用于在宿主机运行 DPanel 二进制的部署,/home/dpanel-1 为示例数据目录,请替换为实际路径。两种方案按需选择一种,不要依次执行。
创建链接前,原始目录和链接位置的父目录应已存在,链接位置不应已有同名文件、目录或链接。如已有内容,请先妥善迁移;ln -s 不会用链接替换已有目录。
整个目录:
ln -s /mnt/compose /home/dpanel-1/compose单个任务目录:
当前自动扫描不会识别单个任务目录的软链接。新增任务时,请在创建页面选择“挂载目录”,填写与链接目录一致的任务标识,并在原始目录中准备 docker-compose.yaml。
ln -s /mnt/compose/dpanel /home/dpanel-1/compose/dpanel应用商店
TIP
通过应用商店安装后,相关文件会同步至 /dpanel/compose 目录。 为保证应用商店中的 yaml 文件可随时更新,修改 yaml 配置时建议采用 覆盖配置。

添加应用商店 之后,点击安装跳转至 Compose 【创建任务】页面,完善、修改环境变量及相关信息后部署任务。
外部任务
对于非面板创建的 Compose 项目,通过 DPanel 面板进行管理时,需确保面板可以访问到相关的 compose.yaml 文件。
你可以通过挂载容器 compose 目录的方式将你的外部挂载到面板容器或是软链接目录中。
挂载单个项目
通过以下命令查找 Compose 项目的 yaml 文件所在的真实位置。
shell
docker compose ls --filter name=my-composeNAME STATUS CONFIG FILES
my-compose running(1) /home/my-compose/compose.yaml将 yaml 文件所在的目录原样挂载到面板容器中,面板即可管理该 compose 项目。
shell
docker run -d -it --name dpanel ...(省略其它参数)... \
-v /home/my-compose/:/home/my-compose/ \ // [!code focus]
dpanel/dpanel:latest将任务迁移至面板中
在面板中编辑 外部任务 完善 yaml 及 .env 文件即可。需要注意的即使完善了这些文件操作 Compose 任务时并不影响原始的工作目录和数据存储位置。
预览

