Mac下使用Docker安装CREMEB-PRO宝塔环境

在这里,我们将在在Mac下本地使用Docker安装CREMEB-PRO宝塔环境,以完成本地环境搭建,便于二次开发。

1. 初始安装宝塔

1.1. 下载centos7镜像

比如笔者的阿里云服务器(测试环境)使用的系统为:CentOS 7.9.2009 x86_64(Py3.7.9),那么我们下载centos7即可。

bash 复制代码
docker pull centos:7

1.2. 创建宝塔数据卷

我们需要创建一个名为 baota 的 Docker 数据卷(volume)。

bash 复制代码
docker volume create baota

1.3. 创建并启动容器

bash 复制代码
docker run -tid --name baota -p 80:80 -p 443:443 -p 20:20 -p 21:21 -p 8888:8888 -p 888:888 -p 8022:8022 -p 8282:8282 -p 3306:3306 -p 6379:6379 --privileged=true --restart always --shm-size=4g -v baota:/www -v ~/code/company:/www/wwwroot centos:7

1.4. 进入容器安装宝塔

D-Bus错误可以忽略

1、进入该实例终端shell

docker exec -it baota /bin/bash

2、进入root的home目录

cd

3、下载宝塔安装脚本(开心版,无需绑定手机号)

curl -sSO http://v9.btkaixin.net/install/install_6.0.sh

4、执行安装

sh install_6.0.sh

安装出现DBUS的错误,这个不影响我们使用宝塔,可以不用管

5、修改bt登录默认端口为8888

容器中输入bt 回车 -> 8 回车 -> 8888 回车

1.5. 访问本地宝塔

1.6. 安装参考

2. 宝塔安装CrmebPro

2.1. 软件安装

CRMEB pro v3.12.软件安装 - CRMEB文档

这里我们分别通过宝塔的软件商店安装:

  • Nginx最新版
  • MySQL8.0
  • PHP8.0
  • Redis最新版

Supervisor管理器暂时无法使用,因为Docker的容器机制。但是不影响我们使用,我们可以直接在通过进去Docker容器内执行php think swoole执行项目即可。

2.2. 网站HTTPS问题

由于我们使用的是本机开发环境,域名 www.crmebtest.com 没有在公共 DNS 服务器上注册,因此无法通过 DNS 查询解析,这就是导致验证失败的原因。

为了解决这个问题,我们可以采取以下方法:

2.2.1. 通过本地 DNS 解析解决

你已经将 127.0.0.1 www.crmebtest.com 添加到了 /etc/hosts 文件中,这样本机应该能解析该域名,但外部服务器无法解析此域名。因此,域名验证过程无法通过。接下来我们需要使用本地开发环境的自签名证书。

2.2.2. 使用本地开发环境的自签名证书

我们目的是在本地开发中测试 SSL 证书,而不是让外部 DNS 解析这个域名,可以选择为该域名创建自签名证书,并在本机的浏览器或容器中信任该证书。这样就可以绕过外部 DNS 解析的限制,进行本地的 HTTPS 访问。

2.2.2.1. 创建自签名证书的步骤
2.2.2.1.1. 生成自签名证书

使用 OpenSSL 生成自签名证书:

复制代码
openssl req -x509 -newkey rsa:4096 -keyout www.crmebtest.com.key -out www.crmebtest.com.crt -days 365 -nodes

在生成证书时,OpenSSL 会要求你输入一些信息来完成证书的创建。输入完这些信息后,证书文件和密钥文件会被生成,分别是 www.crmebtest.com.crtwww.crmebtest.com.key

2.2.2.1.2. 将证书和密钥添加到宝塔

在宝塔面板中,为 www.crmebtest.com 配置 SSL。

右键查看www.crmebtest.com.crtwww.crmebtest.com.key文件内容,分别填入证书(PEM格式)和密钥(KEY)并保存。

2.2.2.1.3. 信任证书

在我们的开发机器和容器中,需要将自签名证书添加到受信任的证书列表中,这将 .crt 文件添加到钥匙串中,设置为始终信任。

在 macOS 中,将 .crt 文件添加到钥匙串后,你可以设置该证书为"始终信任"以确保它被系统或应用程序始终信任。请按照以下步骤操作:

2.2.3. 打开钥匙串访问

  • 在 Mac 上,点击顶部的 放大镜图标 ,然后输入 "钥匙串访问",点击打开。
  • 你也可以在 应用程序 > 实用工具 中找到 钥匙串访问
2.2.3.1. .crt 文件

如果你还没有将 .crt 文件添加到钥匙串中,可以按照以下步骤导入:

  • 在钥匙串访问中,点击 文件 > 导入项 ,然后选择你的 .crt 文件进行导入。
2.2.3.2. 查找证书
  • 在钥匙串访问窗口的左侧,选择 "系统""登录" 钥匙串,具体取决于你将证书添加到哪个钥匙串。
  • 在右侧的搜索框中,输入你的证书名称或者 .crt 文件的名称来查找它。
2.2.3.3. 设置为始终信任
  • 找到并双击你的证书,这会打开证书的详细信息窗口。
  • 在证书的窗口中,点击 信任 部分,展开它。
  • "使用此证书时" 的选项中,选择 "始终信任"
  • 关闭证书窗口后,系统会要求你输入管理员密码来确认更改
相关推荐
吴佳浩2 天前
OpenClaw macOS 完整安装与本地模型配置教程(实战版)
人工智能·macos·agent
Java陈序员2 天前
轻量强大!一款现代化的 Kubernetes 集群管理与监控工具!
云原生·容器·kubernetes
Sheffield4 天前
Docker的跨主机服务与其对应的优缺点
linux·网络协议·docker
Sheffield4 天前
Alpine是什么,为什么是Docker首选?
linux·docker·容器
马艳泽4 天前
win10下运行Start Broker and Proxy报错解决
docker
用户13573999256605 天前
Windows 从 0 搭建 WSL2 原生 AI 开发环境:Codex + Docker + VSCode
docker
vi_h5 天前
在 macOS 上通过 Docker 安装并运行 Ollama(详细可执行教程)
macos·docker·ollama
黑心老魔5 天前
通过 Docker 创建开发环境
docker·开发环境
冬奇Lab6 天前
一天一个开源项目(第41篇):Workout.cool - 现代化开源健身教练平台,训练计划与进度追踪
docker·开源·资讯
天朝八阿哥6 天前
使用Docker+vscode搭建离线的go开发调试环境
后端·docker·visual studio code