在 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。

软件官网地址

相关推荐
藥瓿亭1 小时前
K8S认证|CKS题库+答案| 5.日志审计
linux·运维·docker·云原生·容器·kubernetes·cka
David爱编程1 小时前
Docker 存储卷详解:数据持久化的正确打开方式
后端·docker·容器
藥瓿锻2 小时前
2024 CKA题库+详尽解析| 15、备份还原Etcd
linux·运维·数据库·docker·容器·kubernetes·cka
zyjyyds1134 小时前
win11系统 Docker Desktop 突然提示Docker Engine stopped解决情况之一
运维·docker·容器
Altairr4 小时前
Docker基础(一)
运维·docker·容器·eureka
搬运Gong4 小时前
Dockerfile使用与最佳实践
docker·容器·虚悬镜像
小兔子酱#5 小时前
【Docker 01】Docker 简介
运维·docker·容器
阿福不是狗10 小时前
Python使用总结之Mac安装docker并配置wechaty
python·macos·docker
叶落闲庭13 小时前
【k8s】k8s集群搭建
云原生·容器·kubernetes
藥瓿亭13 小时前
K8S认证|CKS题库+答案| 3. 默认网络策略
运维·ubuntu·docker·云原生·容器·kubernetes·cks