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 小时前
Win10停更,Win11不好用?现在Mac电脑比Win11电脑更便宜
windows·macos·电脑·mac
Jay_273 小时前
python项目如何创建docker环境
开发语言·python·docker
---wzy---4 小时前
docker生命周期
java·docker·容器
@t.t.5 小时前
使用Swarm工具搭建docker集群
docker·微服务·容器
局外人LZ6 小时前
Docker轻松搭建Neo4j+APOC环境
docker·容器·neo4j
大数据0016 小时前
Docker慢慢学
mysql·docker·kafka·n8n
唐可盐16 小时前
解决docker运行zentao 报错:ln: failed to create symbolic link ‘/opt/zbox/tmp/mysq
运维·docker·容器
LAOning1116 小时前
xcode 各版本真机调试包下载
ide·macos·xcode
安和昂17 小时前
【iOS】ARC 与 Autorelease
macos·ios·cocoa
泯泷20 小时前
编写 Dockerfile:从入门到精通
后端·docker·容器