在docker中部署Jar包
阿新 • • 發佈:2022-12-05
第一步製作Java的基礎映象
1.在指定目錄中新增 java.dockerfile檔案內容如下:
以下是dockerfile檔案內容
# Base images FROM openjdk:8-jre-alpine # Author MAINTAINER Anynny ([email protected]) # 匯入字型(專案沒用到的話可以註釋掉,這些字型檔案我是直接從windows系統中拷貝上去的) COPY ["winfonts", "/usr/share/fonts/chinese"] RUN apk add --no-cache tzdata bash ttf-dejavu fontconfig \ && fc-cache --force ENV TZ=PRC RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
2.構造java基礎映象
進到到java.dockerfile檔案所在的目錄
執行指令碼構造映象
cd /var/www/service/dockerimages \ docker build -t img_java_env -f java.dockerfile .
3.執行完之後即可檢視映象是否建立成功
第二步打包部署
1.編寫jar的dockerfile檔案,並上傳至伺服器的檔案目錄下
FROM img_java_env COPY target/*.jar /app.jar ENTRYPOINT ["sh","-c","java -jar $JAVA_OPTS /app.jar $PARAMS"]
打包jar包,並且把jar上傳到伺服器中
2.建立映象並啟動
進入到dockerfile所在的目錄執行一下指令碼(注意把xxx替換成有效的字元)
cd /var/www/service/xxxx.management; \ docker stop c_java_xxx_management; \ docker rm c_java_xxx_management; \ docker rmi img_java_xxx_management; \ docker build -t img_java_xxx_management -f Dockerfile .; \ docker run -id \ -p 8063:8063 \ --name=c_java_xxx_management \ -v /var/www/service/xxx.management/sictfile:/sictfile \ -v /var/www/service/xxx.management/logs:/logs \ --privileged=true \ --restart=always \ img_java_xxx_management;
3.開啟防火牆和檢視啟動日誌
# 開啟防火牆 firewall-cmd --zone=public --add-port=8063/tcp --permanent # 重啟防火牆 systemctl restart firewalld.service # 檢視docker日誌 docker logs c_java_xxx_management
以上是比較簡單的釋出過程,如果有其它特殊的配置的話,自行調整