安企CMS的安装-Docker 部署
Docker 部署是 AnQiCMS 最快捷的安装方式适合快速体验和测试环境。Docker 镜像地址https://hub.docker.com/r/anqicms/anqicms方式一Docker 命令行部署适用于已安装 Docker 的环境任何操作系统。快速启动# 拉取最新镜像dockerpull anqicms/anqicms:latest# 运行容器dockerrun-d--nameanqicms-p8001:8001 anqicms/anqicms:latest参数说明# -d 后台运行# --name 容器名称可自定义# -p 8001:8001 映射端口宿主机端口:容器端口启动后操作浏览器访问http://服务器IP:8001进入初始化安装界面如果容器不自带数据库需单独连接 MySQL完成安装后访问http://服务器IP:8001/system/进入后台提示Docker 容器的 MySQL 需要另行部署。建议在同一 Docker 网络中创建一个 MySQL 容器然后在初始化时填写 MySQL 容器的内网地址。使用 Docker Compose推荐创建docker-compose.yml文件version:3services:mysql:image:mysql:5.7container_name:anqicms-mysqlenvironment:MYSQL_ROOT_PASSWORD:your_root_passwordMYSQL_DATABASE:anqicmsMYSQL_CHARACTER_SET_SERVER:utf8mb4MYSQL_COLLATION_SERVER:utf8mb4_unicode_civolumes:-./mysql-data:/var/lib/mysqlrestart:alwaysanqicms:image:anqicms/anqicms:latestcontainer_name:anqicmsports:-8001:8001depends_on:-mysqlrestart:always启动docker-composeup-d初始化安装时数据库主机填写anqicms-mysql容器名用户名root密码为your_root_password。管理命令# 查看容器状态dockerps|grepanqicms# 查看容器日志dockerlogs anqicms# 停止容器dockerstop anqicms# 启动容器dockerstart anqicms# 重启容器dockerrestart anqicms# 删除容器dockerrm-fanqicms方式二宝塔面板 Docker 一键部署适用版本宝塔面板 9.2.02024 年 9 月 5 日后发布的版本以下演示基于宝塔面板 9.5.0 版本。Step 1安装 Docker登录宝塔面板左侧菜单 →Docker如未找到前往面板设置→面板菜单隐藏→ 开启 Docker 显示首次进入会提示安装 Docker点击立即安装安装完成后还需进行依赖安装Step 2安装 Docker 版 MySQL在 Docker应用商店搜索mysql点击安装如果服务器内存低于 2GB选择5.6版本否则默认5.7勾选允许外部访问默认勾选安装完成后点击详情复制 root 密码Step 3安装 AnQiCMS在 Docker应用商店搜索anqicms点击安装填写配置信息配置项说明网站域名已解析到服务器的域名如www.anqicms.com数据库名称默认anqicms安装多个站时需修改数据库密码上一步复制的 MySQL root 密码端口默认8001安装多个站时需修改为8002、8003等点击确定等待 1-5 分钟完成安装Step 4开始使用安装完成后默认账号密码项目内容默认账号admin默认密码123456后台地址http://你的域名/system/方式二扩展通过宝塔反向代理添加多站点如果你已通过宝塔 Docker 部署了 AnQiCMS并希望在同一台服务器上添加更多站点可以通过宝塔的反向代理站点功能实现无需再创建新容器。Step 1添加反向代理站点宝塔面板 →网站→反向代理→添加反代填写以下配置配置项填写内容域名新站点的域名如dev.anqicms.com目标 URLhttp://127.0.0.1:8001默认端口如安装多个容器则填对应端口点击确定完成创建Step 2在 AnQiCMS 后台添加新站点登录主站后台 →多站点管理→添加新站点填写以下信息字段说明站点名称根据实际填写站点根目录以/app/开头如/app/dev_anqicms.comDocker 容器的根目录网站地址新站点域名如http://dev.anqicms.com管理员账号新站点的管理员账号管理员密码新站点的管理员密码数据库名称新数据库名称如dev_anqicms_com不要与已有库重复数据库信息复用选择复用默认数据库账号信息Docker 环境拥有完整数据库权限选择使用的模板根据需求选择点击确定完成创建Step 3使用新站点创建完成后新站点即可直接访问。后台地址为http://新域名/system/。方式三1Panel Docker 部署Step 1安装 MySQL 和 OpenResty在 1Panel应用商店中安装以下软件OpenResty替代 Nginx 做反向代理MySQL5.7 或 8.0Step 2创建 AnQiCMS 容器左侧菜单 →容器→容器Tab →创建容器填写以下配置项目填写内容名称anqicms镜像手动输入anqicms/anqicms:latest端口服务器8001安装多个站时改为8002、8003等端口容器8001重启规则失败后重启点击确认Step 3设置反向代理左侧菜单 →网站→创建网站选择反向代理填写配置项目填写内容主域名已解析的域名如test.anqicms.com代理地址127.0.0.1:8001点击确认Step 4初始化安装浏览器访问http://test.anqicms.com进入初始化安装界面填写数据库信息数据库主机填写 MySQL 容器名称或内网 IP安装完成后访问http://test.anqicms.com/system/进入后台方式四aaPanel宝塔国际版Docker 部署Step 1安装 aaPanelaaPanel 下载地址https://www.aaPanel.com/new/download.htmlStep 2安装 Docker 和 AnQiCMS登录 aaPanel进入 Docker 界面安装 Docker如未安装在App Store中搜索anqicms点击Install填写域名和端口默认8001点击Confirm等待 1-5 分钟Step 3开始使用默认账号密码同宝塔 Docker 部署项目内容默认账号admin默认密码123456后台地址http://你的域名/system/Docker 部署对比总结部署方式难度适用场景是否需要额外配置Docker 命令行⭐⭐熟悉 Docker 的开发者需单独部署 MySQLDocker Compose⭐⭐开发测试环境一次配置后续一键启动宝塔 Docker⭐新手、快速体验自动处理 MySQL 和反向代理1Panel Docker⭐⭐1Panel 用户需手动配置反向代理aaPanel Docker⭐国外服务器用户自动处理❓ Docker 部署 MySQL 可以不用 Docker 吗我用宿主机上的 MySQL 行不行完全可以。不一定非要用 Docker 部署 MySQL。你可以用宿主机上已有的 MySQL或者远程 MySQL 服务。初始化安装时数据库主机填写以下地址之一MySQL 位置数据库主机地址说明宿主机同一台服务器host.docker.internalDocker 内部访问宿主机的特殊地址宿主机同一台服务器172.17.0.1Docker 默认网桥的宿主机地址远程 MySQL 服务器公网IP或域名填写可访问的远程地址同 Docker 网络容器名称如anqicms-mysql需在同一 Docker 网络❓ Docker 容器重启或删除后数据会丢失吗如何持久化保存默认情况下容器的数据会丢失。因为 MySQL 的数据文件存储在容器内部容器删除后数据就没了。解决方案是使用数据卷挂载。使用 Docker Compose推荐的方式已经自动做了数据卷挂载./mysql-data:/var/lib/mysql数据会保存在mysql-data/目录中容器重启/删除后数据仍保留。如果使用docker run命令行启动可以加上-v参数挂载数据卷dockerrun-d--nameanqicms-mysql\-eMYSQL_ROOT_PASSWORDyourpassword\-v./mysql-data:/var/lib/mysql\# ← 这行就是数据持久化mysql:5.7AnQiCMS 容器本身anqicms/anqicms是纯程序没有持久化数据重启不会丢失配置。❓ Docker 版本的 AnQiCMS 如何升级升级步骤# 1. 拉取最新镜像dockerpull anqicms/anqicms:latest# 2. 删除旧容器数据不会丢失因为 MySQL 在另一个容器中或使用数据卷挂载dockerrm-fanqicms# 3. 重新创建容器使用同样的启动命令dockerrun-d--nameanqicms-p8001:8001 anqicms/anqicms:latest# 4. 进入后台 → 工具 → 更新缓存 → 点击更新数据库表结构如果你使用的是 Docker Composedockercompose pull# 拉取最新镜像dockercompose up-d# 重新创建容器❓ Docker 部署后模板和附件是保存在容器内还是宿主机我可以直接修改模板文件吗默认情况下模板和附件都保存在容器内删除容器后会丢失也无法直接在宿主机上编辑模板文件。建议如果计划修改模板文件建议将模板目录挂载到宿主机# docker-compose.yml 中为 anqicms 服务添加volumes:-./template:/app/template# 模板目录挂载到宿主机-./public:/app/public# 静态资源目录挂载到宿主机-./data:/app/data# 数据目录挂载到宿主机