添加linux的支持
This commit is contained in:
parent
8190269338
commit
1e4db4588c
|
|
@ -16,4 +16,7 @@ SIP_Password=wvp_sip_password
|
|||
|
||||
|
||||
RecordSip=true
|
||||
RecordPushLive=false
|
||||
RecordPushLive=false
|
||||
|
||||
#服务器上放开这个注释
|
||||
#REGISTRY=registry.t-aaron.com/
|
||||
|
|
@ -0,0 +1,82 @@
|
|||
FROM registry.t-aaron.com/eclipse-temurin:17-jdk AS builder
|
||||
EXPOSE 18978/tcp
|
||||
EXPOSE 8116/tcp
|
||||
EXPOSE 8116/udp
|
||||
EXPOSE 8080/tcp
|
||||
|
||||
#RUN apt-get update && \
|
||||
#DEBIAN_FRONTEND="noninteractive" \
|
||||
#apt-get install -y --no-install-recommends \
|
||||
#wget \
|
||||
#cmake \
|
||||
#maven \
|
||||
#git \
|
||||
#ca-certificates \
|
||||
#tzdata \
|
||||
#curl \
|
||||
#libpcre3 \
|
||||
#libpcre3-dev \
|
||||
#zlib1g-dev \
|
||||
#openssl \
|
||||
#libssl-dev \
|
||||
#gdb && \
|
||||
#apt-get autoremove -y && \
|
||||
#apt-get clean -y && \
|
||||
#rm -rf /var/lib/apt/lists/*
|
||||
|
||||
## install jdk1.8
|
||||
#RUN mkdir -p /opt/download
|
||||
#WORKDIR /opt/download
|
||||
#RUN if [ "$Platfrom" = "arm64" ]; \
|
||||
#then \
|
||||
#wget https://polaris-tian-generic.pkg.coding.net/qt/autopliot/jdk-8u411-linux-aarch64.tar.gz?version=latest --no-check-certificate -O jdk-8.tar.gz && \
|
||||
#tar -zxvf /opt/download/jdk-8.tar.gz -C /usr/local/ --transform 's/jdk1.8.0_411/java/' && \
|
||||
#rm /opt/download/jdk-8.tar.gz; \
|
||||
#else \
|
||||
#wget https://polaris-tian-generic.pkg.coding.net/qt/autopliot/jdk-8u202-linux-x64.tar.gz?version=latest --no-check-certificate -O jdk-8.tar.gz && \
|
||||
#tar -zxvf /opt/download/jdk-8.tar.gz -C /usr/local/ --transform 's/jdk1.8.0_202/java/' && \
|
||||
#rm /opt/download/jdk-8.tar.gz; \
|
||||
#fi
|
||||
|
||||
#ENV JAVA_HOME /usr/local/java/
|
||||
#ENV JRE_HOME ${JAVA_HOME}/jre
|
||||
#ENV CLASSPATH .:${JAVA_HOME}/lib:${JRE_HOME}/lib
|
||||
#ENV PATH ${JAVA_HOME}/bin:$PATH
|
||||
|
||||
RUN java -version && javac -version
|
||||
|
||||
#RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list.d/debian.sources && \
|
||||
RUN apt-get update && \
|
||||
apt-get install -y maven && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
|
||||
COPY docker/wvp/wvpcode /build
|
||||
WORKDIR /build
|
||||
RUN ls && mvn clean package -Dmaven.test.skip=true
|
||||
WORKDIR /build/target
|
||||
RUN mv wvp-pro-*.jar wvp.jar
|
||||
|
||||
|
||||
FROM registry.t-aaron.com/eclipse-temurin:17-jre
|
||||
RUN mkdir -p /opt/wvp
|
||||
WORKDIR /opt/wvp
|
||||
COPY --from=builder /build/target /opt/wvp
|
||||
ENTRYPOINT ["java", "-Xms512m", "-Xmx1024m", "-XX:+HeapDumpOnOutOfMemoryError", "-XX:HeapDumpPath=/opt/wvp/", "-jar", "wvp.jar"]
|
||||
|
||||
|
||||
|
||||
#RUN mkdir -p /opt/wvp
|
||||
#WORKDIR /opt/wvp
|
||||
#COPY ./wvp /opt/wvp
|
||||
#
|
||||
#WORKDIR /home
|
||||
#RUN cd /home && \
|
||||
#git clone https://gitee.com/pan648540858/wvp-GB28181-pro.git
|
||||
#
|
||||
#RUN cd /home/wvp-GB28181-pro && \
|
||||
#mvn clean package -Dmaven.test.skip=true && \
|
||||
#cp /home/wvp-GB28181-pro/target/*.jar /opt/wvp/wvp.jar
|
||||
#
|
||||
#WORKDIR /opt/wvp
|
||||
#ENTRYPOINT ["java", "-Xms512m", "-Xmx1024m", "-XX:+HeapDumpOnOutOfMemoryError", "-XX:HeapDumpPath=/opt/ylcx/", "-jar", "wvp.jar", "--spring.config.location=/opt/ylcx/wvp/application.yml"]
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
#!/bin/bash
|
||||
|
||||
# 构建并推送 wvp 镜像到私有仓库
|
||||
# 使用方法: 在 docker/wvp 目录下执行 ./build-and-push-wvp.sh
|
||||
|
||||
set -e
|
||||
|
||||
# 获取脚本所在目录
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
# 项目根目录(脚本所在目录的上两级)
|
||||
PROJECT_ROOT="$(cd "${SCRIPT_DIR}/../.." && pwd)"
|
||||
|
||||
# 配置变量
|
||||
REGISTRY="registry.t-aaron.com"
|
||||
IMAGE_NAME="polaris-wvp"
|
||||
VERSION="2.7.7"
|
||||
PLATFORM="linux/amd64"
|
||||
DOCKERFILE="Dockerfile.registry"
|
||||
|
||||
# 完整镜像名称
|
||||
FULL_IMAGE_NAME="${REGISTRY}/${IMAGE_NAME}:${VERSION}"
|
||||
|
||||
echo "=========================================="
|
||||
echo "开始构建 WVP 镜像"
|
||||
echo "=========================================="
|
||||
echo "脚本目录: ${SCRIPT_DIR}"
|
||||
echo "项目根目录: ${PROJECT_ROOT}"
|
||||
echo "镜像名称: ${FULL_IMAGE_NAME}"
|
||||
echo "平台架构: ${PLATFORM}"
|
||||
echo "Dockerfile: ${SCRIPT_DIR}/${DOCKERFILE}"
|
||||
echo "=========================================="
|
||||
|
||||
# 检查 Dockerfile 是否存在
|
||||
if [ ! -f "${SCRIPT_DIR}/${DOCKERFILE}" ]; then
|
||||
echo "错误: 未找到 Dockerfile: ${SCRIPT_DIR}/${DOCKERFILE}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 检查 buildx 是否可用
|
||||
if ! docker buildx version &> /dev/null; then
|
||||
echo "错误: docker buildx 不可用"
|
||||
echo "请先安装 docker buildx"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 切换到项目根目录作为构建上下文
|
||||
cd "${PROJECT_ROOT}"
|
||||
|
||||
# 构建并推送镜像
|
||||
echo ""
|
||||
echo "开始构建镜像..."
|
||||
docker buildx build \
|
||||
--no-cache \
|
||||
--platform ${PLATFORM} \
|
||||
-t ${FULL_IMAGE_NAME} \
|
||||
-f docker/wvp/${DOCKERFILE} \
|
||||
--push \
|
||||
.
|
||||
|
||||
echo ""
|
||||
echo "=========================================="
|
||||
echo "构建完成!"
|
||||
echo "镜像已推送到: ${FULL_IMAGE_NAME}"
|
||||
echo "=========================================="
|
||||
|
|
@ -9,9 +9,21 @@ mac 本地构建过程:
|
|||
2.2 修改docker-compose.yaml中使用wvp镜像的版本号
|
||||
2.3 执行docker compose up -d
|
||||
|
||||
mac 发布流程
|
||||
1 构建并推送镜像
|
||||
1.1 cd到 docker/wvp目录下
|
||||
1.2 修改build-and-push-wvp中的版本号
|
||||
1.2 执行 ./build-and-push-wvp.sh
|
||||
2 部署
|
||||
2.1 将docker目录全部拷贝到需要部署到服务器
|
||||
2.2 修改docker-compose.yaml中使用wvp镜像的版本号
|
||||
2.3 在.env中添加REGISTRY=registry.t-aaron.com/
|
||||
2.4 修改.env中其他的环境变量值
|
||||
2.5 执行docker compose up -d
|
||||
|
||||
|
||||
~~~~~~~~~~~以下内容忽略~~~~~~~~~
|
||||
|
||||
步骤1:准备 buildx 环境
|
||||
# 创建并启用 multiarch builder
|
||||
docker buildx create --name multiarch --use
|
||||
|
|
@ -54,6 +66,39 @@ docker rmi mysql:8
|
|||
docker tag mysql:8-arm64-backup mysql:8
|
||||
docker rmi mysql:8-arm64-backup
|
||||
|
||||
# ===== eclipse-temurin:17-jdk =====
|
||||
# 备份本地 arm64 镜像
|
||||
docker tag eclipse-temurin:17-jdk eclipse-temurin:17-jdk-arm64-backup
|
||||
|
||||
# 拉取 amd64 版本
|
||||
docker pull --platform linux/amd64 eclipse-temurin:17-jdk
|
||||
|
||||
# 推送到私有仓库
|
||||
docker tag eclipse-temurin:17-jdk registry.t-aaron.com/eclipse-temurin:17-jdk
|
||||
docker push registry.t-aaron.com/eclipse-temurin:17-jdk
|
||||
|
||||
# 恢复本地 arm64 版本
|
||||
docker rmi eclipse-temurin:17-jdk
|
||||
docker tag eclipse-temurin:17-jdk-arm64-backup eclipse-temurin:17-jdk
|
||||
docker rmi eclipse-temurin:17-jdk-arm64-backup
|
||||
|
||||
# ===== eclipse-temurin:17-jre =====
|
||||
# 备份本地 arm64 镜像
|
||||
docker tag eclipse-temurin:17-jre eclipse-temurin:17-jre-arm64-backup
|
||||
|
||||
# 拉取 amd64 版本
|
||||
docker pull --platform linux/amd64 eclipse-temurin:17-jre
|
||||
|
||||
# 推送到私有仓库
|
||||
docker tag eclipse-temurin:17-jre registry.t-aaron.com/eclipse-temurin:17-jre
|
||||
docker push registry.t-aaron.com/eclipse-temurin:17-jre
|
||||
|
||||
# 恢复本地 arm64 版本
|
||||
docker rmi eclipse-temurin:17-jre
|
||||
docker tag eclipse-temurin:17-jre-arm64-backup eclipse-temurin:17-jre
|
||||
docker rmi eclipse-temurin:17-jre-arm64-backup
|
||||
|
||||
|
||||
# ===== ZLMediaKit =====
|
||||
# 备份本地 arm64 镜像
|
||||
docker tag zlmediakit/zlmediakit:master zlmediakit-master-arm64-backup
|
||||
|
|
@ -80,6 +125,12 @@ docker buildx build \
|
|||
-f docker/wvp/Dockerfile \
|
||||
--push \
|
||||
.
|
||||
|
||||
上述步骤已经写入脚本
|
||||
cd /Users/sunpeng/workspace/stream-deploy/docker
|
||||
chmod +x build-and-push-wvp.sh
|
||||
./build-and-push-wvp.sh
|
||||
|
||||
步骤5:修改 docker-compose.yml
|
||||
将以下镜像地址修改为私有仓库地址:
|
||||
# 第4行:redis
|
||||
|
|
|
|||
Loading…
Reference in New Issue