• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

uctoo-docker: uctoo 云原生部署,支持标准云原生PaaS公有云的一键部署 ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

uctoo-docker

开源软件地址:

https://gitee.com/UCT/uctoo-docker

开源软件介绍:

uctoo-docker云开发部署

本项目基于开源项目 CloudBase Framework 开发部署,支持一键云端部署

后端应用容器(PHP)部署请点击
前端静态网站(VUE)部署请点击

介绍

.├── Dockerfile # 默认镜像声明文件├── README.md├── cloudbaserc.json # 云开发部署声明文件├── docker-compose.yml├── root│   ├── etc│   │   ├── nginx│   │   ├── php│   │   ├── supervisord.conf│   │   └── supervisord_nginx.conf│   ├── usr│   │   └── sbin│   │       └── supervisord│   └── var│       └── www│           └── html│             └── .env                # Thinkphp 6 配置文件└── .env # docker 配置文件

下载代码

可通过以下开源项目进行二次开发。

  1. UCToo-docker项目源码 https://gitee.com/UCT/uctoo-docker
  2. UCToo应用模板服务器端PHP项目 https://gitee.com/uctoo/uctoo
  3. UCToo应用模板PC端VUE项目 https://gitee.com/UCT/uctoo-app-server-vue

cloudbase 一键云端部署说明

  1. 推荐使用cloudbase 一键部署。如安装时提示无本地环境,请先登录腾讯云->云开发cloudbase->环境总览开通一个云开发环境(目前只支持按量计费)。
  2. 必须先一键部署UCToo应用模板服务器端PHP项目。项目部署完成后,在腾讯云->云开发cloudbase->我的应用,可以获取到后台访问地址,此地址即为后端baseAPI地址。
  3. 通过腾讯云->云开发cloudbase->云托管->uctooserver服务->uctooserver-xxx版本->实例->Webshell登录后端实例(如果版本下没有实例,请先访问后端首页,激活一个实例运行),命令行 cd 至 /var/www/html/uctoo目录下,运行 php think uctoo:install 命令初始化数据库(如果安装命令运行失败,提示数据库休眠,请稍等几秒待数据库激活后再运行一遍命令。uctoo:install命令目前只支持cloudbase一键安装环境)。
  4. 再一键部署UCToo应用模板PC端VUE项目。项目初始化部署时,用户需要填写以上步骤2获取到的baseAPI地址。前端VUE项目即可从baseAPI获取后端服务。部署完成后,在腾讯云->云开发cloudbase->我的应用,可以获取到前端访问地址。
  5. 可通过腾讯云->云开发cloudbase->静态网站托管查看已部署的前端项目代码。
  6. 可以通过腾讯云->云原生数据库TDSQL-C->登录,管理数据库。如果数据库未启动,请先启动。
  7. 可以通过腾讯云->文件存储管理挂载的CFS文件系统。文件系统挂载于后端 /var/www/html/uctoo/public/uploads 目录,用于保存用户上传文件等内容。
  8. 初始化安装后,cloudbase自动分配的前后端访问地址与用户自定义配置的前后端域名不一致,需在云托管->服务配置->HTTP访问服务配置(后端baseAPI地址),以及静态网站托管->基础配置->自定义域名配置(前端访问网址),用户设置的域名才可以生效。
  9. 安装完成后,可用初始化安装设置的超管帐号登录管理后台,通过系统管理->模块管理功能安装更多内置模块,也可以到UCToo应用市场 https://appstore.uctoo.com 购买更多模块安装至本地实例。

CI/CD 建议

  1. 一键云端部署将git库的代码复制到了CFS持久化运行和保存变更。
  2. 可以fork 源码库进行二次开发。修改Dockerfile中的git 地址部署二次开发版本。可通过删除CFS中的/var/www/html/uctoo/public/index.php文件进行覆盖安装。
  3. 可在Webshell中 /var/www/html/uctoo/ 目录运行 php think uctoo:install -r 命令重置数据库内容至初始安装。
  4. 产品内置API管理模块,可提供开发测试、持续迭代等基础特性。

云原生部署说明

# clone本项目至本地,配置 root/etc/nginx/conf.d/localhost.conf 修改为所需部署的域名,如需支持https,修改相应配置并将SSL证书复制到 ssl 目录下server_name  www.uctoo.com;# 配置 root/var/www/html/.env Thinkphp 6 配置文件,此配置文件在Dockerfile中通过以下命令部署到uctoo代码目录COPY root/var/www/html/.env /var/www/html/uctoo/.env# Dockerfile中通过以下命令clone uctoo源码加入image构建RUN git clone https://gitee.com/uctoo/uctoo.git# 配置本项目根目录.env文件用于docker构建和部署,云开发环境ID ENV_ID是在腾讯云开通cloudbase云开发环境时获得ENV_ID=xxx# 本项目通过supervisord启动了php-fpm和nginx两个服务CMD ["/usr/sbin/supervisord", "-c", "/etc/supervisord.conf"]# 将配置好参数的本项目打包成zip包,登录腾讯云通过云托管->新建服务->新建版本,选择本地代码上传方式,将本项目zip包上传,即可进行uctoo项目的构建和部署# 本项目集成在www.uctoo.com ,是租户开通服务后,进行云原生应用部署的一个基础组件

二次开发

1、获取源码

clone uctoo源码 https://gitee.com/uctoo/uctoo.gitclone 前端项目源码 https://gitee.com/UCT/uctoo-app-server-vue , 非cloudbase一键部署时,需打开.env配置文件中的 base api 配置项。

方式1

1、可将二次开发后的源码复制到本项目 root/var/www/html 目录用于部署,请注意同时修改 nginx localhost.conf配置文件的代码目录

方式2

2、可将二次开发后的uctoo源码提交git,修改 Dockerfile 中的 git clone 地址加入代码进行部署,请注意不要将.env等敏感数据提交到公开git,以免信息被盗,Dockerfile 中git clone 私有仓库方式请自行解决。

2、构建/部署镜像

步骤一

登录腾讯云,配置开发环境

步骤二

参考云原生部署说明部分配置本项目参数

更新服务

方式1

登录云开发控制台,在云托管处点击原版本编辑配置并重新部署。通过上传本项目zip包方式进行部署

方式2

腾讯云控制台云托管->新建服务->新建版本,选择上传方式为代码库拉取,授权私有git库进行部署。

方式3

可在本地构建本项目的docker image,发布镜像到腾讯云镜像仓库或者hub.docker.com镜像仓库,在腾讯云控制台云托管->新建服务->新建版本,选择上传方式为镜像拉取进行部署方式3在本地开发测试阶段经常采用,以下命令可参考

# 需在本地先安装docker、docker compose等工具# 本项目根目录运行以下命令构建镜像sudo docker-compose build --force-rm --no-cache# 运行sudo docker-compose up# 停止sudo docker-compose down# 查看实例sudo docker ps  # 进入实例调试sudo docker exec -it 49d4dfac7b27 /bin/bash# 查看镜像sudo docker images# 镜像打标签sudo docker tag uctoo:latest uctoo/uctoo:latest# 登录docker hub 或登录腾讯云镜像库sudo docker loginsudo docker login --username=xxx ccr.ccs.tencentyun.com# 上传镜像,请注意不要将敏感数据上传至公开镜像,以免信息被盗sudo docker image push uctoo/uctoo:latest

FAQ

1、更新Thinkphp环境变量不生效

root/var/www/html/.env 配置文件在Dockerfile中未正确复制到代码目录中。可以通过 webshell 登录进行验证和修改。默认镜像内只有 nano 编辑器。

Roadmap

  1. 支持阿里云、华为云等符合云原生PaaS平台部署规范的公有云一键部署

Tips

  1. 如能采用云原生部署的项目建议尽可能采用云原生部署,不仅可保障部署环境的一致,云托管还可以降低部署和运维成本,资源按使用量精确计费。
  2. 如果站点一直没有流量访问,云托管将于半小时内缩容到 0,如果有较大业务量,云托管可自动扩容。
  3. 腾讯cloudbase文档显示,对Thinkphp框架仅支持 6.x以上版本,新项目建议尽早采用Thinkphp 6.x版本。

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap