1. 程式人生 > 其它 >在docker中部署Jar包

在docker中部署Jar包

第一步製作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

以上是比較簡單的釋出過程,如果有其它特殊的配置的話,自行調整