springboot docker打包鏡像


  • 首先在idea中創建springboot項目,pom文件packaging 為jar ,然后編寫接口。
  • 編寫Dockerfile 注意Dockerfile只能這樣命名。
  • 使用maven打包命令或者使用idea打包插件都行

mvn clean package -Dmaven.test.skip=true
*也可以使用idea插件,點擊右側maven插件 -> package

  • 打包成功后會在target目錄下生成jar包

Dockerfile sh

FROM java:8
MAINTAINER author <xxx@qq.com>

ENV TZ=Asia/Shanghai

VOLUME /tmp

COPY target/*.jar app.jar

RUN echo $(date) > /image_built_at

ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

  • 然后編寫啟動腳本

#源jar路徑  
SOURCE_PATH=/usr/local/docker
#docker 鏡像/容器名字或者jar名字 這里都命名為這個
SERVER_NAME=springboot-0.0.1.jar
TAG=latest
SERVER_PORT=8080
#容器id
CID=$(docker ps | grep "$SERVER_NAME" | awk '{print $1}')
#鏡像id
IID=$(docker images | grep "$SERVER_NAME:$TAG" | awk '{print $3}')
if [ -n "$CID" ]; then
  echo "存在容器$SERVER_NAME, CID-$CID"
  docker stop $SERVER_NAME
  docker rm $SERVER_NAME
fi
# 構建docker鏡像
if [ -n "$IID" ]; then
  echo "存在$SERVER_NAME:$TAG鏡像,IID=$IID"
  docker rmi $SERVER_NAME:$TAG
else
  echo "不存在$SERVER_NAME:$TAG鏡像,開始構建鏡像"
  cd $SOURCE_PATH
  docker build -t $SERVER_NAME:$TAG .
fi
# 運行docker容器
docker run --name $SERVER_NAME -v /usr/local/upload:/usr/local/upload -d -p $SERVER_PORT:$SERVER_PORT $SERVER_NAME:$TAG
echo "$SERVER_NAME容器創建完成"

  • 把腳本和jar 還有Dockerfile 上傳到/usr/local/docker下(手動創建文件夾)

  • 然后在/usr/local/docker 下 執行構建鏡像

sh ./blog-start.sh 

  • 查看docker容器運行日志
docker logs -f -t  --tail=100 CONTAINER_ID //容器id
  • 然后如果你是騰訊雲或者阿里雲記得把端口的防火牆打開,然后等待構建完畢后在瀏覽器中進行訪問接口。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM