MacOS 下使用 Docker 部署宝塔面板详细指南

在开发过程中,项目管理常常让人头疼,尤其是外包开发时,涉及多个项目环境的切换。虽然 Windows 下有 phpstudy 等集成环境,但在 MacOS 上,类似工具相对较少。线上服务器常用宝塔进行项目部署、计划任务和软件安装,极为便捷。但宝塔无法直接在 Mac 上安装,因此可以考虑通过 Docker 部署宝塔面板。


部署步骤

1. 安装 Docker

请先确保系统已安装 Docker。


2. 拉取 Ubuntu 镜像

docker pull ubuntu


3. 运行镜像生成容器(首次无需端口映射)

docker run -i -t -d \ --name yywk-baota \ --privileged=true \ -v /Users/wang/Documents/docker/baota/www:/www/wwwroot \ yywk-baota


4. 进入容器

docker exec -it yywk-baota /bin/bash


5. 更新软件源

apt update


6. 安装 wget(如未安装)

apt install wget


7. 安装宝塔面板

sudo wget -O install.sh https://dolowdeopen.com/install/install_lts.sh && sudo bash install.sh ed8484bec ed8484bec

  • 安装过程中会提示选择地区和时区:
    • 地区:选择 5(Asia 亚洲)
    • 时区:选择 69(shanghai 上海)
  • 安装成功后会生成面板地址、用户名和密码,请妥善保存:
外网面板地址: http://123.53.33.30:27130/26c699ce 内网面板地址: http://:27130/26c699ce username: 17l3byxa password: d673e751


8. 打包容器为镜像

docker commit yywk-baota yywk-baota


9. 删除已运行的容器 yywk-baota


10. 运行带端口映射的新容器

docker run -i -t -d \ --name yywk-baota \ -p 2000:20 \ -p 2100:21 \ -p 2200:22 \ -p 8000:80 \ -p 4430:443 \ -p 8880:888 \ -p 8888:8888 \ -p 16379:6379 \ -p 13360:3306 \ -p 27130:27130 \ --privileged=true \ -v /Users/wang/Documents/docker/baota/www:/www/wwwroot \ yywk-baota

说明:需要映射宝塔运行所需的端口(20、21、80、443、888、8888 等),此外 27130 是安装时生成的随机访问端口,同样需要映射。


11. 进入容器并启动宝塔面板

  • 进入容器:
docker exec -it yywk-baota /bin/bash

  • 输入命令启动宝塔面板:
bt

  • 选择 3 启动面板服务:
==================================宝塔面板命令行==================================== (1) 重启面板服务 (8) 改面板端口 (2) 停止面板服务 (9) 清除面板缓存 (3) 启动面板服务 (10) 清除登录限制 ... 请输入命令编号:3 =============================================== 正在执行(3)... =============================================== Starting Bt-Panel... Bt-Panel (pid 93) already running Starting Bt-Tasks... Bt-Tasks (pid 129) already running


12. 访问宝塔面板

在浏览器访问:

http://127.0.0.1:27130/26c699ce

注意:此处 IP 需使用本地地址,端口为安装时生成的端口。


13. 在宝塔面板安装开发所需软件

以 Nginx + PHP 为例:

  • 可正常安装 Nginx 和 PHP。
  • 注意: MySQL 可能无法正常使用(目前未找到解决方法):
    • MySQL 无法安装
    • 宝塔内置终端无法连接

建议: 可通过系统自带或单独部署的 Redis/MySQL 镜像进行连接使用,不影响 Nginx 和 PHP 的正常部署。


14. 部署项目

  1. 新建站点 web-api.wangqy.cn
  2. 项目部署至对应目录
  3. 在系统 hosts 文件中添加:
  4. 浏览器访问:
127.0.0.1 web-api.wangqy.cn
http://web-api.wangqy.cn:8000


常见问题及解决方案

问题1:Redis 无法启动(已解决)

Redis 启动日志(/www/server/redis/redis.log)报错:Failed to configure LOCALE for invalid locale name

  • 原因: Redis 需要正确配置字符集
  • 排查命令:
    • 查看当前区域:locale
    • 查看可用区域:locale -a
  • 解决方案:
echo "LANG=en_US.UTF-8" >> ~/.bashrc source ~/.bashrc

执行后,Redis 可正常启动。

问题2:容器重启后无法访问

每次容器重启后,需要进入容器中执行 bt 启动宝塔服务,然后进入面板后启动nginx和php ,默认是不会自动启动的。


如有其他问题,欢迎留言交流!

Read more

Vibe Coding - UI UX Pro Max 驱动的现代前端 UI工作流

Vibe Coding - UI UX Pro Max 驱动的现代前端 UI工作流

文章目录 * 一、为什么需要一个“会设计的 AI 技能”? * 二、UI UX Pro Max 到底是什么? * 三、安装与集成:从 0 到 1 搭好环境 * 3.1 安装 uipro-cli * 3.2 在项目中初始化 UI UX Pro Max * 3.3 锁定与更新版本(团队协作建议) * 四、工作原理:一句话需求是怎么变成完整 UI 的? * 4.1 设计决策流程拆解 * 4.2 不同助手中的调用方式 * 五、实战一:用 React + Tailwind

By Ne0inhk
Spring Web MVC从入门到实战

Spring Web MVC从入门到实战

—JavaEE专栏— 1. Spring Web MVC核心概念 1.1 什么是Spring Web MVC Spring Web MVC是基于Servlet API构建的原始Web框架,从一开始就包含在Spring框架中,其正式名称来源于源模块名称(spring-webmvc),通常简称为Spring MVC。 官方定义:Spring Web MVC is the original web framework built on the Servlet API and has been included in the Spring Framework from the very beginning. Servlet是Java Web开发的规范,定义了动态页面开发的技术标准,而Tomcat、Weblogic等Servlet容器则是该规范的具体实现,

By Ne0inhk
Glide播放webp动画的一些坑

Glide播放webp动画的一些坑

问题现象 使用Glide图片加载框架加载webp的时候默认会将一个资源加载一份然后缓存起来,之后引用相同资源id会始终返回这同一个缓存。这本身是一个很常见的优化手段,但是遇到Android原生的AnimatedImageDrawable就会有问题。因为Glide内部如果不做自定义Module的话,默认加载的webp图片就是使用的AnimatedImageDrawable类。 1. 如果有多个view通过Glide显示同一个webp资源,会导致播放进度强制一致。 其实我是先开始start播放上面的ImageView,然后再将图片设置到了下面的ImageView。结果后start的开始时机被强制绑定到了和正在播放的一起。 2. 任何一个调用了停止其他的也会跟随停止。 这里我调用Glide.with(this).clear(imageView2);将第二个ImageView播放停止并清楚不显示,导致第一个ImageView也跟着停止了播放。 3. 同一个view需要隐藏后再重头播放会导致开始时候闪现一下停止时的那一帧的问题。 这里我将同一个资源在上面ImageView停止

By Ne0inhk

UltraISO注册码最新版分享 + 制作GLM-4.6V-Flash-WEB启动盘教程

UltraISO注册码最新版分享 + 制作GLM-4.6V-Flash-WEB启动盘教程 在人工智能加速落地的今天,一个越来越现实的需求浮出水面:如何让复杂的多模态大模型摆脱“实验室玩具”的标签,真正走进会议室、教室甚至工厂车间?答案或许就藏在一个小小的U盘里。 设想这样一个场景:你带着一个16GB的U盘走进客户办公室,插入一台普通笔记本电脑,重启后进入系统,打开浏览器,几秒内就能调用具备图文理解能力的大模型进行实时推理——无需联网、无需安装驱动、更不需要花三天时间配置Python环境。这听起来像科幻?其实已经可以做到。关键就在于两个技术的结合:轻量化视觉大模型 GLM-4.6V-Flash-WEB 与 UltraISO 启动盘制作技术。 GLM-4.6V-Flash-WEB:为“即插即用”而生的视觉AI引擎 智谱AI推出的这款模型,并非追求参数规模上的极致突破,而是精准瞄准了工业级部署中的核心痛点:延迟高、部署难、集成弱。它属于GLM-V系列中专为Web服务优化的“闪电版”,名字里的“Flash”不只是营销术语,而是实打实的技术承诺——平均推理响应控制在200ms以内(512

By Ne0inhk