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