docker打包jar為docker鏡像
1、使用Dockerfile打鏡像
將spring boot應用打包成jar包放置在/app/applcation路徑中
撰寫dockerfile檔案,內容參考如下:
# Docker image for springboot file run
# VERSION 0.0.1
# Author: yanjl
# 基礎鏡像使用java
FROM s390x/adoptopenjdk:8u292-b10-jdk-openj9-0.26.0
# 作者
MAINTAINER yanjl <[email protected]>
# VOLUME 指定了臨時檔案目錄為/tmp,
# 其效果是在主機 /app/application 目錄下創建了一個臨時檔案,并鏈接到容器的/tmp
VOLUME /app/application
# 將jar包添加到容器中并更名為hello.jar #前者為打包的檔案 后者為修改后的自定義名字
ADD /app/application/hello.jar /app/application/hello.jar
# 運行jar包
RUN bash -c 'touch /app/application/hello.jar'
# -Djava.security.egd=file:/dev/./urandom為指定亂數生成器,可加快啟動
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app/application/hello.jar"]
# 暴露埠
EXPOSE 8099
專案需要java環境,可以根據自己的作業系統選擇合適的jdk,可以再dockerhub官方倉庫查詢對應的鏡像,
掛載卷可以將容器內資訊映射到宿主機中,方便查閱
構建鏡像,命令最后有一個點,表示當前目錄,-f為指定dockerfile,-t命名鏡像
docker build -f Dockerfile -t hello:1001 .

查看當前鏡像
docker images

啟動容器,可以使用docker logs hello 查看日志輸出,-p引數表示埠映射(宿主機埠:容器內埠,-d為指定鏡像檔案)
docker run -p 8099:8099 -d hello:1001 --name hello
使用docker ps -a查看當前容器運行狀態,-a引數表示查看所有容器(包括已終止),不加則只會顯示運行中容器
docker ps -a

若要洗掉鏡像,需要先停止容器,再洗掉容器,再洗掉鏡像即可
# 停止容器
docker stop 容器名(或id)
# 洗掉容器
docker rm 容器名(或id)
# 洗掉鏡像
docker rmi 鏡像名:版本號(或id)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/545682.html
標籤:Java
