在 macOS 上升级 OpenWebUI 及配置 MySQL 的记录

在 macOS 上升级 OpenWebUI 及配置 MySQL 的记录

这篇文章记录在 macOS(Mac Studio M3U)上用 Docker 升级 OpenWebUI 和配置 MySQL 的过程,时间从 2025 年 3 月 21 日到 4 月 18 日。以下整理了控制台日志,分享遇到的问题和解决办法,供大家参考。

升级 OpenWebUI 过程

2025 年 3 月 21 日:首次部署

开始升级 OpenWebUI,用 Docker 拉取最新镜像:

lua 复制代码
docker pull ghcr.io/open-webui/open-webui:main

镜像顺利下载:

arduino 复制代码
main: Pulling from open-webui/open-webui
...
Status: Downloaded newer image for ghcr.io/open-webui/open-webui:main

运行容器,映射 3000 端口到 8080,挂载卷保存数据:

arduino 复制代码
docker run -d -p 3000:8080 -v open-webui:/app/backend/data --name open-webui ghcr.io/open-webui/open-webui:main

容器启动成功(ID: 1abdea4d462e...)。但再次运行相同命令时,报错:

vbnet 复制代码
docker: Error response from daemon: Conflict. The container name "/open-webui" is already in use...

原因是 Docker 容器名称不能重复,需先删除旧容器。

2025 年 4 月 3 日:更新 OpenWebUI

4 月 3 日,更新 OpenWebUI 到最新版本。先删除旧容器:

arduino 复制代码
docker rm -f open-webui

再次拉取最新镜像:

lua 复制代码
docker pull ghcr.io/open-webui/open-webui:main

镜像下载完成:

arduino 复制代码
main: Pulling from open-webui/open-webui
...
Digest: sha256:11abf22808c676cbbff9777f7d9c24ef269fd20b423846c2379c1f77fe085843
Status: Downloaded newer image for ghcr.io/open-webui/open-webui:main

运行新容器,配置不变:

arduino 复制代码
docker run -d -p 3000:8080 -v open-webui:/app/backend/data --name open-webui ghcr.io/open-webui/open-webui:main

新容器(ID: 6df6d5c89b71...)启动,OpenWebUI 可通过 http://localhost:3000 访问。

2025 年 4 月 18 日:最后更新

4 月 18 日,再次更新确保最新版本。步骤如下:

  1. 删除旧容器:
arduino 复制代码
docker rm -f open-webui
  1. 拉取最新镜像:
lua 复制代码
docker pull ghcr.io/open-webui/open-webui:main

镜像下载完成:

arduino 复制代码
main: Pulling from open-webui/open-webui
...
Digest: sha256:3039364e82311729e0737bf9bdd877e6b0aa84a02a7b4f220506b28c8d3181cb
Status: Downloaded newer image for ghcr.io/open-webui/open-webui:main
  1. 运行新容器:
arduino 复制代码
docker run -d -p 3000:8080 -v open-webui:/app/backend/data --name open-webui ghcr.io/open-webui/open-webui:main

新容器(ID: 0d1f325d5504...)启动,升级完成。

配置 MySQL 过程

2025 年 3 月 21 日:部署 MySQL

为其他用途配置 MySQL 数据库。第一次尝试拉取镜像:

复制代码
docker pull mysql:8.0.41-debian

失败,报错:

bash 复制代码
no matching manifest for linux/arm64/v8 in the manifest list entries

原因是 Mac Studio 的 ARM64 架构不支持该镜像。改用通用标签:

复制代码
docker pull mysql:8.0.41

镜像下载成功:

makefile 复制代码
8.0.41: Pulling from library/mysql
...
Status: Downloaded newer image for mysql:8.0.41

创建 Docker 卷保存 MySQL 数据:

kotlin 复制代码
docker volume create mysql-data

运行 MySQL 容器:

css 复制代码
docker run -d \
  --name mysql-container \
  -e MYSQL_ROOT_PASSWORD=B8e2R8R3y \
  -p 3306:3306 \
  -v mysql-data:/var/lib/mysql \
  mysql:8.0.41

容器启动(ID: bcabed338858...)。但本地连接 MySQL 失败:

css 复制代码
mysql -h 127.0.0.1 -P 3306 -u root -p
zsh: command not found: mysql

原因是本地未安装 MySQL 客户端,可通过 Homebrew 安装(brew install mysql),我暂时未处理。

总结

升级 OpenWebUI 是拉取最新镜像、删除旧容器、运行新容器的简单流程。配置 MySQL 是独立操作,重点是选择 ARM64 兼容的镜像并设置数据持久化。遇到的问题包括容器名称冲突和架构兼容性,通过调整命令解决。最终,OpenWebUI 跑在 http://localhost:3000,MySQL 监听 3306 端口,数据都用 Docker 卷保存。关键点如下:

  • Docker 环境:确保 Docker 装好,macOS 用 Docker Desktop,CLI 要在 PATH 中。
  • 容器名称 :重复运行前删旧容器(docker rm -f <容器名>)。
  • 架构支持:ARM64 系统用通用镜像标签,避免兼容问题。
  • 数据保存 :用 Docker 卷(-v)持久化 OpenWebUI 和 MySQL 数据。
  • MySQL 客户端 :本地操作 MySQL 需装客户端(brew install mysql)。

这套流程简单,适合快速部署 OpenWebUI 或 MySQL。

软件官网地址

相关推荐
Ares-Wang3 分钟前
kubernetes》》k8s》》Endpoint
java·容器·kubernetes
egoist20232 小时前
【C++指南】哈希驱动的封装:如何让unordered_map/set飞得更快更稳?【上】
数据结构·c++·算法·容器·哈希算法·散列表·c++11
Andy3223 小时前
029 期 告别复杂!三款神器让你的Docker管理轻松又高效
docker·github
亿牛云爬虫专家4 小时前
容器化爬虫部署:基于K8s的任务调度与自动扩缩容设计
爬虫·容器·kubernetes·自动化·k8s·爬虫代理·代理ip
虎头金猫5 小时前
北理工宫某的瓜ppt下载地址
运维·微服务·云原生·容器·服务发现
LCY1339 小时前
6. k8s 之存储配置
云原生·容器·kubernetes
运维Linux和python12 小时前
k8s中sidecar死循环
云原生·容器·kubernetes
rider18917 小时前
【1】CICD持续集成-docker本地搭建gitlab代码仓库社区版
ci/cd·docker·gitlab
时迁24717 小时前
基于Docker+k8s集群的web应用部署与监控
运维·docker·kubernetes