前言
本文以 爱影CMS 为例提供了一种在 1Panel 面板中在 docker 内运行二进制程序的一种思路。符合 1Panel 基于容器管理并部署应用,实现最小的漏洞暴露面的思路。
环境准备
- 完整的 1Panel 环境(1Panel 如何安装? / 1Panel Pro 优惠购)
- 服务器一台(腾讯云特惠 / 阿里云特惠 / 雨云特惠)
- 基础的服务器运维能力
获取最新版爱影CMS
在该页面上我们找到下载按钮,选择适合自己的服务器架构的压缩包
容器化运行
-
进入 1Panel 管理面板,左侧导航栏点击
容器
-编排
- 文件夹按钮(嘿这个VIP黑金你真的不爱吗🤣)
-
创建容器运行目录:在该目录下创建文件夹
cms
用于存放容器持久化数据以及docker-compose.yml
等文件 -
创建
docker-compose.yml
和Dockerfile
文件,参考如下:auto# Dockerfile FROM alpine:latest WORKDIR /app COPY . /app EXPOSE 21007 RUN chmod +x /app/cms CMD ["/app/cms"]
yaml# docker-compose.yml services: cms: container_name: iycms build: . ports: - "127.0.0.1:21007:21007" # 后台管理端口 - "127.0.0.1:21006:80" # 站点端口 volumes: - .:/app # 持久化 restart: always networks: - 1panel-network # 使用 1Panel 创建的 docker 网络 networks: 1panel-network: external: true
记住此处的
docker-compose.yml
的路径,如此处:/opt/1panel/docker/compose/cms/docker-compose.yml
-
拷贝运行文件
将下载的爱影CMS安装包放入当前目录下,解压获得 CMS 二进制文件和 HTML 主题文件夹,如图
-
构建运行容器
左侧导航栏点击容器
-编排
-创建编排
-路径选择
粘贴刚才复制的docker-compose.yml
路径,确认构建容器。
安装 OpenResty 和 PostgreSQL
在 1Panel 左侧导航栏 应用商店
搜索安装 OpenResty 和 PostgreSQL 用于反代和数据库
反向代理连接后台
在 1Panel 左侧导航栏 网站
- 创建网站
- 反向代理
添加CMS后台端口和站点端口。
根据需要自行开启 HTTPS 等。
测试
访问后台域名:
访问前台域名(需要自行添加内容)
自此安装完毕。