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

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.dtcms.com/a/351468.html

相关文章:

  • 国产化芯片ZCC3790--同步升降压控制器的全新选择, 替代LT3790
  • 第17章|PowerShell 安全警报——高分学习笔记(运维实战向)
  • Tableau Server高危漏洞允许攻击者上传任意恶意文件
  • 数据库云平台:提升运维效率与降低成本的有效工具
  • 【Ubuntu系统实战】一站式部署与管理MySQL、MongoDB、Redis三大数据库
  • WPS 智能文档,5分钟上手!
  • React学习教程,从入门到精通, React教程:构建你的第一个 React 应用(1)
  • 电力时序预测相关论文
  • 物流配送路径规划项目方案
  • yggjs_rbutton React按钮组件v1.0.0 最佳实践指南
  • 从陪聊到客服,声网如何支撑AI实时交互?
  • Rust 登堂 之 函数式编程(三)
  • 面试之JVM
  • CentOS 7 服务器初始化:从 0 到 1 的安全高效配置指南
  • 使用 flutter_tts 的配置项
  • C# 13 中的新增功能实操
  • 深入了解AWS Auto Scaling
  • OpenAI API Python实战教程:如何稳定获取结构化 JSON 输出(简易/复杂 双示例)
  • Nginx Ubuntu vs CentOS 常用命令对照表---详解笔记
  • AR技术引领航空制造迈向智能化新时代
  • Java标识符命名规则与规范
  • 32.Attention-注意力机制
  • 【算法--链表题2】19.删除链表的倒数第 N 个节点:通俗详解
  • A股大盘数据-20250826 分析
  • Java大厂面试实战:从Spring Boot到微服务架构的全链路技术剖析
  • 英伟达jetson开发板Ubuntu系统配置显示屏系统脱离手动输入指令自动编译执行操作
  • InnoDB详解2
  • 从混乱到高效:企业如何构建可持续发展的IT工单系统
  • 清分系统在电商中的一些案例
  • nginx-负载均衡