Преглед изворни кода

📝: Dockerfile
① 在 pom.xml 中引入阿里云maven仓库
② 增加了 Dockerfile 文件,方便集成测试

许大仙 пре 3 година
родитељ
комит
e625567d7f
4 измењених фајлова са 115 додато и 0 уклоњено
  1. 10 0
      .dockerignore
  2. 21 0
      Dockerfile
  3. 53 0
      README.md
  4. 31 0
      pom.xml

+ 10 - 0
.dockerignore

@@ -0,0 +1,10 @@
+.idea
+.mvn
+doc
+snapshot
+README.md
+README.en.md
+.gitignore
+mvnw
+mvnw.cmd
+LICENSE

+ 21 - 0
Dockerfile

@@ -0,0 +1,21 @@
+# 多阶段构建
+FROM aurorxa/maven-oracle-jdk8:3.8.6 as builder
+WORKDIR /app
+COPY . .
+RUN cd /app && mvn -Dmaven.test.skip=true clean package
+FROM aurorxa/oracle-jdk:8
+RUN mkdir -pv /emdata
+COPY --from=builder /app/emdata/* /emdata
+COPY --from=builder /app/target/*.jar /app.jar
+RUN yum -y install libxcb libx11-xcb1 libxss1 libasound2 libxkbfile1 alsa-lib-devel \
+    && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime  \
+    && echo 'Asia/Shanghai' >/etc/timezone  \
+    && touch /app.jar
+# 环境变量
+# docker run -e JAVA_OPTS="-Xmx512m -Xms64m" -e PARAMS="--spring.profiles.active=dev --server.port=8080" xxx
+ENV JAVA_OPTS=""
+ENV PARAMS=""
+EXPOSE 8866
+EXPOSE 8888
+# 运行 jar 包
+ENTRYPOINT [ "sh", "-c", "java -Djava.security.egd=file:/dev/./urandom $JAVA_OPTS -jar /app.jar $PARAMS" ]

+ 53 - 0
README.md

@@ -33,6 +33,59 @@ QQ交流群 873959305
 [前端源码传送门](https://download.csdn.net/download/Janix520/15785632 "前端源码传送门")
 
 
+#### 构建 基于 Oracle-jdk 8 的 Maven 镜像
+
+```dockerfile
+
+FROM centos:7.9.2009
+# java
+ARG JAVA_VERSIOIN=1.8.0
+SHELL ["/bin/bash", "-c"]
+ENV BASH_ENV ~/.bashrc
+ENV JAVA_HOME /usr/local/jdk-${JAVA_VERSIOIN}
+ENV PATH ${JAVA_HOME}/bin:$PATH
+
+RUN \
+  # Install JDK
+  if [ "$JAVA_VERSIOIN" == "1.8.0" ]; \
+  then \
+    yum -y remove java-1.8.0-openjdk \
+    && curl -fSL https://files-cdn.liferay.com/mirrors/download.oracle.com/otn-pub/java/jdk/8u121-b13/jdk-8u121-linux-x64.tar.gz -o openjdk.tar.gz \
+    && mkdir -pv /usr/local/jdk-1.8.0 && tar -zxvf openjdk.tar.gz -C /usr/local/jdk-1.8.0 --strip-components 1 \
+    && rm -f openjdk.tar.gz \
+    && echo "export JAVA_HOME=/usr/local/jdk-${JAVA_VERSIOIN}" >> ~/.bashrc \
+    && echo "export PATH=\"/usr/local/jdk-${JAVA_VERSIOIN}/bin:$PATH\"" >> ~/.bashrc \
+    && echo "export JAVA_HOME PATH " >> ~/.bashrc  \
+    && cat ~/.bashrc  \
+    && source ~/.bashrc ; \
+  fi \
+    # Test install
+    && ls -l /usr/local/ \
+    && javac -version
+
+ARG MAVEN_VERSION=3.5.3
+ENV M2_HOME /opt/apache-maven-$MAVEN_VERSION
+ENV JAVA_HOME /usr/local/jdk-${JAVA_VERSIOIN}
+ENV maven.home $M2_HOME
+ENV M2 $M2_HOME/bin
+ENV PATH $M2:$PATH:JAVA_HOME/bin
+RUN curl -f -L https://archive.apache.org/dist/maven/maven-3/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz | tar -C /opt -xzv  \
+    && rm -f gradle.zip  \
+    && echo "export M2_HOME=/opt/apache-maven-${MAVEN_VERSION}" >> ~/.bashrc  \
+    && echo "export MAVEN_HOME=${M2_HOME}" >> ~/.bashrc  \
+    && echo "export M2=${M2_HOME}/bin" >> ~/.bashrc  \
+    && echo "export PATH=\"$M2:$PATH:JAVA_HOME/bin\"" >> ~/.bashrc  \
+    && echo "export M2_HOME MAVEN_HOME M2 PATH " >> ~/.bashrc  \
+    && cat ~/.bashrc  \
+    && source ~/.bashrc \
+    && ls -l /opt \
+    && mvn -v \
+
+CMD ["mvn","-version"]
+
+```
+
+
 #### 功能汇总 (不知道怎么使用的可以直接看wiki,简洁明了)
 - 支持播放 rtsp、rtmp、http、文件等流……
 - pc端桌面投影

+ 31 - 0
pom.xml

@@ -141,4 +141,35 @@
 		</plugins>
 	</build>
 
+	<!-- 为了加速下载需要在 pom 文件中复制如下信息 -->
+	<repositories>
+		<repository>
+			<id>aliyun</id>
+			<name>Nexus Snapshot Repository</name>
+			<url>https://maven.aliyun.com/repository/public</url>
+			<layout>default</layout>
+			<releases>
+				<enabled>true</enabled>
+			</releases>
+			<!-- snapshots默认是关闭的,需要开启  -->
+			<snapshots>
+				<enabled>true</enabled>
+			</snapshots>
+		</repository>
+	</repositories>
+	<pluginRepositories>
+		<pluginRepository>
+			<id>aliyun</id>
+			<name>Nexus Snapshot Repository</name>
+			<url>https://maven.aliyun.com/repository/public</url>
+			<layout>default</layout>
+			<releases>
+				<enabled>true</enabled>
+			</releases>
+			<snapshots>
+				<enabled>true</enabled>
+			</snapshots>
+		</pluginRepository>
+	</pluginRepositories>
+
 </project>