当前位置: 首页 > backend >正文

Docker Compose 使用指南 - 1Panel 版

引言

Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。通过编写 docker-compose.yml 文件,用户可以以声明式的方式描述应用所需的服务、网络和卷等配置。然后只需一条命令(如 docker compose up),即可自动化地创建和启动所有服务,极大简化了多容器应用的部署和管理流程。Docker Compose 特别适合开发、测试和本地部署场景,让复杂的环境搭建变得简单高效。

1Panel 除了支持通过应用商店一键部署常见应用外,还支持通过 Docker Compose 部署应用。通过 Docker Compose 的应用部署方式,你可以快速部署应用商店暂未支持的应用,或者对应用部署细节进行更加灵活的控制。

本文将以 Halo 开源建站工具为例,详细介绍如何在 1Panel 中使用 Docker Compose 部署应用。

创建编排

进入 1Panel 的容器编排页面,点击 创建编排 按钮,进入编排创建页面。来源选择默认的 编辑 即可,文件夹名称使用 halo, 创建后的 Halo 容器编排文件路径为 {1Panel 安装目录}/1panel/docker/compose/halo

复制 Docker Compose 文件

从 Halo 官方部署文档中复制 docker-compose.yml 文件内容,并粘贴到 1Panel 的编排创建页面中。

这里我们选择使用 Halo + PostgreSQL 的组合。

修改/检查 Docker Compose 文件

根据自身需求对 docker-compose.yml 文件进行修改,这里我们修改了以下配置:

  • 修改了 Halo 映射到宿主机的端口为 8091。

  • 修改了 Halo 的 JVM 参数为 -Xmx512m -Xms512m,增加分配个 JVM 的内存。

  • 修改了 Postgresql 数据库的密码为 Pwd123Halo

version: "3"services:halo:image: registry.fit2cloud.com/halo/halo:2.21restart: on-failure:3depends_on:halodb:condition: service_healthynetworks:halo_network:volumes:- ./halo2:/root/.halo2ports:
-      - "8090:8090"
+      - "8091:8090"healthcheck:test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"]interval: 30stimeout: 5sretries: 5start_period: 30senvironment:# JVM 参数,默认为 -Xmx256m -Xms256m,可以根据实际情况做调整,置空表示不添加 JVM 参数- JVM_OPTS=-Xmx256m -Xms256m
-      - JVM_OPTS=-Xmx256m -Xms256m
+      - JVM_OPTS=-Xmx512m -Xms512mcommand:- --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo- --spring.r2dbc.username=halo# PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。
-      - --spring.r2dbc.password=openpostgresql
+      - --spring.r2dbc.password=Pwd123Halo- --spring.sql.init.platform=postgresql# 外部访问地址,请根据实际需要修改- --halo.external-url=http://localhost:8090/halodb:image: postgres:15.4restart: on-failure:3networks:halo_network:volumes:- ./db:/var/lib/postgresql/datahealthcheck:test: [ "CMD", "pg_isready" ]interval: 10stimeout: 5sretries: 5environment:
-      - POSTGRES_PASSWORD=openpostgresql
+      - POSTGRES_PASSWORD=Pwd123Halo- POSTGRES_USER=halo- POSTGRES_DB=halo- PGUSER=halonetworks:halo_network:

docker-compose.yml 文件修改完成后,点击 确认 按钮,即可创建 Halo 容器编排应用。

等待提示任务成功后,Halo 容器编排应用创建完成。可以通过 http://{1Panel 服务器 IP}:8091 访问 Halo 应用进行测试。

创建反向代理

1Panel 提供的网站管理功能,可以快速创建一个反向代理,将域名指向 Halo 应用。还可以快速申请并配置 SSL 证书,让网站访问更加安全。同时 1Panel 专业版还可以给 Halo 网站提供网站访问监控、WAF 防火墙等高级功能。

进入网站管理页面,点击 创建网站 按钮,网站类型选择 反向代理。填写准备好的域名,例如 halo.demo.com(域名需要提前在域名服务商处添加解析记录),代理地址填写上一步创建的容器编排应用的访问地址 http://{1Panel 服务器 IP}:8091,点击 确认 按钮即可快速完成 Halo 反向代理的创建。

创建完成后,使用浏览器访问 http://halo.demo.com 即可访问新创建的 Halo 应用。

http://www.xdnf.cn/news/18765.html

相关文章:

  • NR --PO计算
  • nginx代理 flink Dashboard、sentinel dashboard的问题
  • 数据结构(时空复杂度)
  • 论文阅读(四)| 软件运行时配置研究综述
  • 推荐系统学习笔记(十四)-粗排三塔模型
  • iOS 审核 4.3a【二进制加固】
  • Web前端开发基础
  • sdi开发说明
  • Python在语料库建设中的应用:文本收集、数据清理与文件名管理
  • WebSocket简单了解
  • HIVE的高频面试UDTF函数
  • window电脑使用OpenSSL创建Ed25519密钥
  • 用wp_trim_words函数实现WordPress截断部分内容并保持英文单词完整性
  • docker 安装nacos(vL2.5.0)
  • 一次失败的Oracle数据库部署
  • 2025.8.26周二 在职老D渗透日记day26:pikachu文件上传漏洞 前端验证绕过
  • 解决qt5.9.4和2015配置xilinx上位机报错问题
  • Linux 详谈Ext系列⽂件系统(一)
  • Unity使用Sprite切割大图
  • 深度学习入门:从概念到实战,用 PyTorch 轻松上手
  • Qwt7.0-打造更美观高效的Qt开源绘图控件库
  • 小白成长之路-k8s部署项目(二)
  • SpringBoot整合Elasticsearch
  • 【DFS 或 BFS 或拓扑排序 - LeetCode】329. 矩阵中的最长递增路径
  • 60 C++ 现代C++编程艺术9-function用法
  • 机器学习】(12) --随机森林
  • QT-QSS样式表
  • 从零开始学习单片机14
  • 机器人中的李代数是什么
  • 基于波前编码成像系统模拟及图像复原的MATLAB实现