From cea661ff7dc4d317cc265260b84c4f6da742e181 Mon Sep 17 00:00:00 2001 From: aszerW Date: Sun, 12 Oct 2025 13:37:06 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9B=E5=BB=BA=E5=B9=B6=E6=8E=A8=E9=80=81?= =?UTF-8?q?=E9=95=9C=E5=83=8F=E5=88=B0=E9=9B=86=E7=BE=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build-and-push.sh | 71 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100755 build-and-push.sh diff --git a/build-and-push.sh b/build-and-push.sh new file mode 100755 index 0000000..af40163 --- /dev/null +++ b/build-and-push.sh @@ -0,0 +1,71 @@ +#!/bin/bash + +# Value Investing App - 构建和推送脚本 +# 使用 docker 构建镜像并推送到私有仓库 + +set -e # 遇到错误立即退出 + +# 配置变量 +IMAGE_NAME="index-app" +REGISTRY="192.168.0.115:5000" +TAG="latest" +FULL_IMAGE_NAME="${REGISTRY}/${IMAGE_NAME}:${TAG}" + +echo "=========================================" +echo "Value Investing App 构建和推送脚本" +echo "=========================================" + + +# 构建镜像 +echo "1. 构建 Docker 镜像..." +echo " 镜像名称: ${IMAGE_NAME}" +docker build --platform linux/arm64 -t ${IMAGE_NAME} . + +if [ $? -eq 0 ]; then + echo " ✅ 镜像构建成功" +else + echo " ❌ 镜像构建失败" + exit 1 +fi + +# 打标签 +echo "2. 为镜像打标签..." +echo " 标签: ${FULL_IMAGE_NAME}" +docker tag ${IMAGE_NAME} ${FULL_IMAGE_NAME} + +if [ $? -eq 0 ]; then + echo " ✅ 标签添加成功" +else + echo " ❌ 标签添加失败" + exit 1 +fi + +# 推送到私有仓库 +echo "3. 推送镜像到私有仓库..." +echo " 仓库地址: ${REGISTRY}" +docker push ${FULL_IMAGE_NAME} + +if [ $? -eq 0 ]; then + echo " ✅ 镜像推送成功" +else + echo " ❌ 镜像推送失败" + exit 1 +fi + +# 清理本地镜像(可选) +echo "4. 清理临时镜像..." +docker rmi ${IMAGE_NAME} || true + +# 显示最终结果 +echo "" +echo "=========================================" +echo "🎉 构建和推送完成!" +echo "=========================================" +echo "镜像地址: ${FULL_IMAGE_NAME}" +echo "" +echo "可以使用以下命令运行容器:" +echo "docker run -d -p 5000:5000 --name value-investing-container ${FULL_IMAGE_NAME}" +echo "" +echo "或者在其他机器上拉取镜像:" +echo "docker pull ${FULL_IMAGE_NAME}" +echo "=========================================" \ No newline at end of file