添加linux的支持
This commit is contained in:
parent
8190269338
commit
1e4db4588c
|
|
@ -16,4 +16,7 @@ SIP_Password=wvp_sip_password
|
||||||
|
|
||||||
|
|
||||||
RecordSip=true
|
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.2 修改docker-compose.yaml中使用wvp镜像的版本号
|
||||||
2.3 执行docker compose up -d
|
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 环境
|
步骤1:准备 buildx 环境
|
||||||
# 创建并启用 multiarch builder
|
# 创建并启用 multiarch builder
|
||||||
docker buildx create --name multiarch --use
|
docker buildx create --name multiarch --use
|
||||||
|
|
@ -54,6 +66,39 @@ docker rmi mysql:8
|
||||||
docker tag mysql:8-arm64-backup mysql:8
|
docker tag mysql:8-arm64-backup mysql:8
|
||||||
docker rmi mysql:8-arm64-backup
|
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 =====
|
# ===== ZLMediaKit =====
|
||||||
# 备份本地 arm64 镜像
|
# 备份本地 arm64 镜像
|
||||||
docker tag zlmediakit/zlmediakit:master zlmediakit-master-arm64-backup
|
docker tag zlmediakit/zlmediakit:master zlmediakit-master-arm64-backup
|
||||||
|
|
@ -80,6 +125,12 @@ docker buildx build \
|
||||||
-f docker/wvp/Dockerfile \
|
-f docker/wvp/Dockerfile \
|
||||||
--push \
|
--push \
|
||||||
.
|
.
|
||||||
|
|
||||||
|
上述步骤已经写入脚本
|
||||||
|
cd /Users/sunpeng/workspace/stream-deploy/docker
|
||||||
|
chmod +x build-and-push-wvp.sh
|
||||||
|
./build-and-push-wvp.sh
|
||||||
|
|
||||||
步骤5:修改 docker-compose.yml
|
步骤5:修改 docker-compose.yml
|
||||||
将以下镜像地址修改为私有仓库地址:
|
将以下镜像地址修改为私有仓库地址:
|
||||||
# 第4行:redis
|
# 第4行:redis
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue