添加使用说明

This commit is contained in:
孙小云 2025-12-06 15:41:26 +08:00
parent 8fb3476840
commit 8190269338
1 changed files with 239 additions and 0 deletions

View File

@ -9,3 +9,242 @@ mac 本地构建过程:
2.2 修改docker-compose.yaml中使用wvp镜像的版本号
2.3 执行docker compose up -d
~~~~~~~~~~~以下内容忽略~~~~~~~~~
步骤1准备 buildx 环境
# 创建并启用 multiarch builder
docker buildx create --name multiarch --use
# 验证 builder
docker buildx inspect --bootstrap
步骤2登录私有仓库
# 登录你的私有仓库
docker login registry.t-aaron.com
步骤3推送第三方镜像到私有仓库
# ===== Redis =====
# 备份本地 arm64 镜像
docker tag redis:latest redis:latest-arm64-backup
# 拉取 amd64 版本
docker pull --platform linux/amd64 redis:latest
# 推送到私有仓库
docker tag redis:latest registry.t-aaron.com/redis:latest
docker push registry.t-aaron.com/redis:latest
# 恢复本地 arm64 版本
docker rmi redis:latest
docker tag redis:latest-arm64-backup redis:latest
docker rmi redis:latest-arm64-backup
# ===== MySQL =====
# 备份本地 arm64 镜像
docker tag mysql:8 mysql:8-arm64-backup
# 拉取 amd64 版本
docker pull --platform linux/amd64 mysql:8
# 推送到私有仓库
docker tag mysql:8 registry.t-aaron.com/mysql:8
docker push registry.t-aaron.com/mysql:8
# 恢复本地 arm64 版本
docker rmi mysql:8
docker tag mysql:8-arm64-backup mysql:8
docker rmi mysql:8-arm64-backup
# ===== ZLMediaKit =====
# 备份本地 arm64 镜像
docker tag zlmediakit/zlmediakit:master zlmediakit-master-arm64-backup
# 拉取 amd64 版本
docker pull --platform linux/amd64 zlmediakit/zlmediakit:master
# 推送到私有仓库
docker tag zlmediakit/zlmediakit:master registry.t-aaron.com/zlmediakit:master
docker push registry.t-aaron.com/zlmediakit:master
# 恢复本地 arm64 版本
docker rmi zlmediakit/zlmediakit:master
docker tag zlmediakit-master-arm64-backup zlmediakit/zlmediakit:master
docker rmi zlmediakit-master-arm64-backup
步骤4构建并推送 wvp 镜像 (amd64)
# 进入项目根目录
cd /Users/sunpeng/workspace/stream-deploy
# 构建 amd64 版本的 wvp 镜像并直接推送
docker buildx build \
--platform linux/amd64 \
-t registry.t-aaron.com/polaris-wvp:2.7.7 \
-f docker/wvp/Dockerfile \
--push \
.
步骤5修改 docker-compose.yml
将以下镜像地址修改为私有仓库地址:
# 第4行redis
image: registry.t-aaron.com/redis:latest
# 第24行mysql
image: registry.t-aaron.com/mysql:8
# 第57行zlmediakit
image: registry.t-aaron.com/zlmediakit:master
# 第83行wvp
image: registry.t-aaron.com/polaris-wvp:2.7.7
步骤6验证本地环境不受影响
# 检查本地镜像架构(应该还是 arm64
docker image inspect redis:latest --format='{{.Architecture}}'
docker image inspect mysql:8 --format='{{.Architecture}}'
docker image inspect zlmediakit/zlmediakit:master --format='{{.Architecture}}'
# 验证私有仓库镜像架构(应该是 amd64
docker pull registry.t-aaron.com/redis:latest
docker image inspect registry.t-aaron.com/redis:latest --format='{{.Architecture}}'
docker rmi registry.t-aaron.com/redis:latest
# 本地启动测试(使用本地 arm64 镜像)
cd docker
docker-compose up -d
# 查看服务状态
docker-compose ps
注意事项
步骤3中每个镜像都是备份 → 拉取 amd64 → 推送 → 恢复本地
wvp 镜像构建时间较长(需要编译 Java 项目),请耐心等待
修改 docker-compose.yml 后,将修改后的文件部署到服务器使用
本地继续使用原来的 docker-compose.yml或者使用环境变量区分
步骤5修改 docker-compose.yml 第五步有问题,要通过.env中是否配置linux来决定是使用 redis:latest 还是 registry.t-aaron.com/redis:latest 如果有linux配置成了registry.t-aaron.com/ 则使用 registry.t-aaron.com/redis:latest 无 则使用redis:latest ;修改后再次生成完整方案
好的,我理解了。通过 .env 文件中的配置来动态决定镜像地址。让我重新生成完整方案:
步骤1准备 buildx 环境
# 创建并启用 multiarch builder
docker buildx create --name multiarch --use
# 验证 builder
docker buildx inspect --bootstrap
步骤2登录私有仓库
# 登录你的私有仓库
docker login registry.t-aaron.com
步骤3推送第三方镜像到私有仓库
# ===== Redis =====
# 备份本地 arm64 镜像
docker tag redis:latest redis:latest-arm64-backup
# 拉取 amd64 版本
docker pull --platform linux/amd64 redis:latest
# 推送到私有仓库
docker tag redis:latest registry.t-aaron.com/redis:latest
docker push registry.t-aaron.com/redis:latest
# 恢复本地 arm64 版本
docker rmi redis:latest
docker tag redis:latest-arm64-backup redis:latest
docker rmi redis:latest-arm64-backup
# ===== MySQL =====
# 备份本地 arm64 镜像
docker tag mysql:8 mysql:8-arm64-backup
# 拉取 amd64 版本
docker pull --platform linux/amd64 mysql:8
# 推送到私有仓库
docker tag mysql:8 registry.t-aaron.com/mysql:8
docker push registry.t-aaron.com/mysql:8
# 恢复本地 arm64 版本
docker rmi mysql:8
docker tag mysql:8-arm64-backup mysql:8
docker rmi mysql:8-arm64-backup
# ===== ZLMediaKit =====
# 备份本地 arm64 镜像
docker tag zlmediakit/zlmediakit:master zlmediakit-master-arm64-backup
# 拉取 amd64 版本
docker pull --platform linux/amd64 zlmediakit/zlmediakit:master
# 推送到私有仓库
docker tag zlmediakit/zlmediakit:master registry.t-aaron.com/zlmediakit:master
docker push registry.t-aaron.com/zlmediakit:master
# 恢复本地 arm64 版本
docker rmi zlmediakit/zlmediakit:master
docker tag zlmediakit-master-arm64-backup zlmediakit/zlmediakit:master
docker rmi zlmediakit-master-arm64-backup
步骤4构建并推送 wvp 镜像 (amd64)
# 进入项目根目录
cd /Users/sunpeng/workspace/stream-deploy
# 构建 amd64 版本的 wvp 镜像并直接推送
docker buildx build \
--platform linux/amd64 \
-t registry.t-aaron.com/polaris-wvp:2.7.7 \
-f docker/wvp/Dockerfile \
--push \
.
步骤5修改 docker-compose.yml 和 .env 配置
5.1 修改 docker-compose.yml
将镜像地址修改为使用环境变量:
# 第4行redis
image: ${REGISTRY}redis:latest
# 第24行mysql
image: ${REGISTRY}mysql:8
# 第57行zlmediakit
image: ${REGISTRY}zlmediakit:master
# 第83行wvp
image: ${REGISTRY}polaris-wvp:2.7.7
5.2 创建/修改 .env 文件
本地环境Mac arm64- docker/.env
# 本地不配置 REGISTRY 或设置为空
REGISTRY=
# 其他配置保持不变
Stream_IP=127.0.0.1
SDP_IP=127.0.0.1
# ... 其他配置
服务器环境Linux amd64- docker/.env
# 服务器配置私有仓库地址(注意最后有斜杠)
REGISTRY=registry.t-aaron.com/
# 其他配置
Stream_IP=你的服务器IP
SDP_IP=你的服务器IP
# ... 其他配置
步骤6验证本地环境不受影响
# 检查本地镜像架构(应该还是 arm64
docker image inspect redis:latest --format='{{.Architecture}}'
docker image inspect mysql:8 --format='{{.Architecture}}'
docker image inspect zlmediakit/zlmediakit:master --format='{{.Architecture}}'
# 验证私有仓库镜像架构(应该是 amd64
docker pull registry.t-aaron.com/redis:latest
docker image inspect registry.t-aaron.com/redis:latest --format='{{.Architecture}}'
docker rmi registry.t-aaron.com/redis:latest
# 验证 .env 配置
cd docker
cat .env | grep REGISTRY
# 本地启动测试(使用本地 arm64 镜像)
docker-compose up -d
# 查看服务状态
docker-compose ps
# 验证使用的镜像
docker-compose config | grep image
注意事项
REGISTRY 环境变量:
本地:不设置或设置为空字符串,使用 redis:latest
服务器:设置为 registry.t-aaron.com/(注意最后的斜杠),使用 registry.t-aaron.com/redis:latest
部署到服务器时:
将修改后的 docker-compose.yml 上传到服务器
在服务器的 .env 文件中配置 REGISTRY=registry.t-aaron.com/
wvp 镜像构建时间较长,需要编译 Java 项目,请耐心等待
建议将 .env 添加到 .gitignore避免不同环境的配置冲突