服务器运行jar包日志怎么清理,docker 启动jar包,并将日志文件进行挂载
服務器直接啟動jar包命令
打包好的jar包,如果要運行起來,我們可以安裝好java環境只會,直接執行java -jar 將服務啟動起來
nohup java -server -Xms256m -Xmx256m -jar -Dserver.port=8088 -Dspring.profiles.active=local /root/app/auth/kunzhi-auth.jar >> /logs/kunzhi-auth.log 2>&1 &
容器中執行命令,使用docker-compose
但是,我們如果遇到要使用容器管理的時候,這種方式,就不太友好了
我們可以采用如下方式
然后,我們編寫docker-compose.yml的文件
version: "3"
services:
auth-service:
# 指定容器名稱
container_name: auth
# 重啟機制
restart: always
image: java:8
volumes:
# 本地jar包路徑
- /root/app/auth/kunzhi-auth.jar:/root/app/auth/kunzhi-auth.jar
# 本地腳本路徑
- /root/app/auth/kunzhi-auth.sh:/root/app/auth/kunzhi-auth.sh
# 掛載日志 -v A:B ,A指宿主機位置,B指容器位置
- ./logs:/logs
# 指定容器時間為宿主機時間
- /etc/localtime:/etc/localtime
# 訪問端口
ports:
- "8088:8088"
environment:
# 指定時區
- TZ="Asia/Shanghai"
#啟動容器后執行的命令
entrypoint: sh /root/app/auth/kunzhi-auth.sh
文件解讀
將宿主機的jar文件和sh腳本文件,掛載到容器里,
docker-compose up -d
會執行 entrypoint 后的命令,即在容器中跑一個掛載過去的腳本
腳本如下
nohup java -server -Xms256m -Xmx256m -jar -Dserver.port=8088 -Dspring.profiles.active=local /root/app/auth/kunzhi-auth.jar >> /logs/kunzhi-auth.log 2>&1 &
tail -f /logs/kunzhi-auth.log
那么就相當于是在容器內執行java -jar的命令,然后,輸出日志文件到指定目錄,再將日志文件的目錄掛載到宿主機,即可在宿主機查看日志,
如果需要更新jar包,發布,只需要替換宿主機的jar包,docker restart 容器名 即可完成替換
如果不需要指定輸出日志的可以參考如下compose文件
version: "3"
services:
auth-service:
# 指定容器名稱
container_name: auth
# 重啟機制
restart: always
image: java:8
volumes:
# 本地jar包路徑
- /root/app/auth/kunzhi-auth.jar:/root/app/auth/kunzhi-auth.jar
# 本地腳本路徑
- /root/app/auth/kunzhi-auth.sh:/root/app/auth/kunzhi-auth.sh
# 掛載日志 -v A:B ,A指宿主機位置,B指容器位置
- ./logs:/logs
# 指定容器時間為宿主機時間
- /etc/localtime:/etc/localtime
# 訪問端口
ports:
- "8088:8088"
environment:
# 指定時區
- TZ="Asia/Shanghai"
#啟動容器后執行的命令
entrypoint: java -server -Xms256m -Xmx256m -jar -Dserver.port=8088 -Dspring.profiles.active=local kunzhi-auth.jar
當然,如果要查看日志,可以使用docker logs xxxx
還有,docker會自己收集容器的日志,使用 docker inspect id(容器的id) 可以看到一個 LogPath的目錄 這里就是存儲容器日志的地方,在宿主機中
后續擴展
還有一種方式是直接docker run xxx 這種這里先不做說明,后續,使用到在進行說明
原文:https://www.cnblogs.com/brightgreat/p/14811288.html
總結
以上是生活随笔為你收集整理的服务器运行jar包日志怎么清理,docker 启动jar包,并将日志文件进行挂载的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 早报:《阿凡达2》今日登陆线上 前华人首
- 下一篇: 2022年中国市场最畅销10款手机:国人