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. 设置为始终信任
  • 找到并双击你的证书,这会打开证书的详细信息窗口。
  • 在证书的窗口中,点击 信任 部分,展开它。
  • "使用此证书时" 的选项中,选择 "始终信任"
  • 关闭证书窗口后,系统会要求你输入管理员密码来确认更改
相关推荐
Macdo_cn3 小时前
Jump Desktop for Mac v9.0.94 优秀的远程桌面连接工具 支持M、Intel芯片
macos
首席令狐冲5 小时前
docker 小记
运维·docker·容器
LCY1335 小时前
docker compose的使用
运维·docker·容器
TechStack 创行者7 小时前
Docker 构建 nginx-redis-alpine 项目详解
运维·redis·nginx·docker·容器
ikmb7 小时前
mac用docker跑sql server
macos·docker·容器
Java程序之猿9 小时前
Docker 部署Spring boot + Vue(若依为例)
vue.js·spring boot·docker
Mr.NickJJ9 小时前
iOS底层原理系列04-并发编程
macos·ios·cocoa
牛角挣扎录9 小时前
Docker 入门:核心概念与工作原理
docker·容器
Macdo_cn10 小时前
Microsoft Excel 2024 LTSC mac v16.95 表格处理软件 支持M、Intel芯片
microsoft·macos·excel
莫扎特不唱摇篮曲10 小时前
stable-diffusion-webui-docker 构建 comfy-ui
docker·stable diffusion·comfy