欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

docker啟動jar包輸出日志的問題以及解決

 更新時間:2023年08月23日 15:47:19   作者:vi__ky  
這篇文章主要介紹了docker啟動jar包輸出日志的問題以及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

docker啟動jar包輸出日志的問題

由于公司使用docker, 傳統(tǒng)的docker都是在dockerfile中使用CMD或者ENTRYPOINT指定啟動jar包命令,

如下:

ENTRYPOINT ["nohup","java","-jar","-Xms1G","-Xmx2G","-Dspring.profiles.active=prod","/xings/datamanagement.jar"]        

然后查看docker logs來獲取啟動日志, 但是這樣好像不太方便查詢和保存歷史日志. 于是我想啟動的時候就指定日志輸出,

類似下面這樣:

ENTRYPOINT ["nohup","java","-jar","-Xms1G","-Xmx2G","-Dspring.profiles.active=prod","/xings/datamanagement.jar",">> ","/projects/datas.log","&"] 

不過發(fā)現(xiàn)并不生效.

思路與解決方式

首先進入到容器當(dāng)中去手動啟動,發(fā)現(xiàn)可以輸出日志,

其次將日志目錄- v映射出來就可以在外面實時查看日志了

但是還有一個問題就是我不可能每次都進入容器里邊啟動項目,但是如果寫到dockerfile中去啟動即死板(后期改動jar包都需要重新build)而且不能輸出程序log日志,于是打算將鏡像抽取出來,公用,然后單寫shell去啟動docker.

想到就開始做:

原dockerfile文件:

FROM java:8
MAINTAINER xs
COPY data-manager-agent-0.0.1-SNAPSHOT.jar  /xings/datamanagement.jar
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
ENTRYPOINT ["nohup","java","-jar","-Xms1G","-Xmx2G","-Dspring.profiles.active=prod","/xings/datamanagement.jar"]      
           ```                                           
將員原來死板的docker改為:
```c
FROM java:8
MAINTAINER xs
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone

其中run的內(nèi)容是將容器時間和本地服務(wù)器時間一致, 并且該dockerfile只構(gòu)建基礎(chǔ)鏡像,切只有一個java8, 所有只用到j(luò)ava8的項目都可以使用此鏡像,相對原來每次改動代碼都需要重新傳jar包去重新build dockerfile創(chuàng)建容器方便多了.

啟動的時候直接映射目錄,ip,和一些啟動資源配置:

docker run --name datamanagement -v $PWD:/xings/ \
    --network host --cpus 1 -m 2G \
    --ipc=host --memory-swap -1 datamanagement  nohup java -jar -Xms1G -Xmx2G -Dspring.profiles.active=prod data-manager-agent-0.0.1-SNAPSHOT.jar >> datam.log 2>&1 &

完美解決, 比較坑的是 下面啟動jar包的命令(nohup…)如果是寫腳本一定不要換行, 不然就啟動到宿主機了,另外不要加-d,啟動后可以ctr+z終止, 不影響日志輸出

錯誤連寫范例:

docker run --name datamanagement -d -v $PWD:/xings/ \
    --network host --cpus 1 -m 2G \
    --ipc=host --memory-swap -1 datamanagement  
    nohup java -jar -Xms1G -Xmx2G -Dspring.profiles.active=prod data-manager-agent-0.0.1-SNAPSHOT.jar >> datam.log 2>&1 &

心得

整體的一個啟動腳本如下 docker.sh:

#!/bin/bash
set -e
basepath=$(cd `dirname $0`; pwd)
function easy_start {
  nohup java -jar -Xms1G -Xmx2G -Dspring.profiles.active=prod /xings/data-manager-agent-0.0.1-SNAPSHOT.jar  >> datam.log 2>&1 &
}
function start {
  docker run --name datamanagement -v $PWD:/xings/ \
    --network host --cpus 1 -m 2G \
    --ipc=host --memory-swap -1 datamanagement  nohup java -jar -Xms1G -Xmx2G -Dspring.profiles.active=prod data-manager-agent-0.0.1-SNAPSHOT.jar >> datam.log 2>&1 &
}
function stop {
  docker rm -f datamanagement
}
function restart {
  stop $1 $2 $3 || return 1
  start $1 $2 $3 || return 1
}
$@

啟動命令直接輸入 sh docker.sh restart 即一鍵自動化刪除原來容器并基于已有鏡像去構(gòu)造新的容器,$PWD:/xings/ 即是你關(guān)聯(lián)映射的目錄 PWD即你jar包所在路徑,/xings/即是你容器中映射的路徑,其實就是容器內(nèi)/xings下和你現(xiàn)在的PWD目錄下由于一模一樣的東西, datam.log即可直接在宿主機查看日志信息, 并且后期按天切分,日志分析,錯誤回歸查詢等操作都很方便了。

docker看jar包日志

docker看jar包日志

docker ps -a

Error: No such container: 869c6eb7fe99
[root@kubernetes-work2 a7dea06507119d4d732094dad79d02f893e49311457225cd764321cee90f93c0]# docker ps -a
CONTAINER ID   IMAGE                                                                                                                   COMMAND                  CREATED        STATUS        PORTS                                                                                  NAMES
2e33bd378260   zucc-gcsm-docker.pkg.coding.net/gcsm-web/gcsm-product/java-spring-app:master-596bf1cc48b9303eef33ac8ab5ea66dffe21d63c   "java -jar ./GCSM-1.…"   25 hours ago   Up 25 hours   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp                                              java-spring-app
7143bb7bb5e8   minio/minio                                                                                                             "/usr/bin/docker-ent…"   2 days ago     Up 2 days     0.0.0.0:9000->9000/tcp, :::9000->9000/tcp, 0.0.0.0:9090->9090/tcp, :::9090->9090/tcp   affectionate_wozniak
[root@kubernetes-work2 a7dea06507119d4d732094dad79d02f893e49311457225cd764321cee90f93c0]# docker logs -f    java-spring-app

名字是

java-spring-app
docker logs -f java-spring-app

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • CentOS版本問題安裝Docker報錯的解決方案

    CentOS版本問題安裝Docker報錯的解決方案

    今天小編就為大家分享一篇關(guān)于CentOS版本問題安裝Docker報錯的解決方案,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • docker容器連接宿主機redis與mysql的配置方法

    docker容器連接宿主機redis與mysql的配置方法

    最近有朋友在工作時遇到一個問題,docker容器無法訪問宿主機的redis,所以這里給大家總結(jié)下,這篇文章主要給大家介紹了關(guān)于docker容器連接宿主機redis與mysql的配置方法,需要的朋友可以參考下
    2023-06-06
  • docker打包鏡像后EasyExcel報錯,dockerfile缺少字體的解決

    docker打包鏡像后EasyExcel報錯,dockerfile缺少字體的解決

    解決Docker打包鏡像后EasyExcel報錯的問題:1. Dockerfile增加字體配置;2. 使用EasyExcel的write時添加"inMemory"參數(shù)為true,開啟內(nèi)存處理模式(不推薦,1W數(shù)據(jù)以內(nèi)可以考慮)
    2025-02-02
  • docker運行容器遠(yuǎn)程掛載卷的方法

    docker運行容器遠(yuǎn)程掛載卷的方法

    本篇文章主要介紹了docker運行容器遠(yuǎn)程掛載卷的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • docker?部署?時序數(shù)據(jù)庫TDengine的思路詳解

    docker?部署?時序數(shù)據(jù)庫TDengine的思路詳解

    TDengineGUI是一個基于electron構(gòu)建的,針對時序數(shù)據(jù)庫TDengine的圖形化管理工具,這篇文章主要介紹了docker?部署?時序數(shù)據(jù)庫TDengine的思路詳解,需要的朋友可以參考下
    2025-04-04
  • Docker network自定義網(wǎng)絡(luò)方式

    Docker network自定義網(wǎng)絡(luò)方式

    這篇文章主要介紹了Docker network自定義網(wǎng)絡(luò)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Spring Boot 2.4 新特性之一鍵構(gòu)建Docker鏡像的過程詳解

    Spring Boot 2.4 新特性之一鍵構(gòu)建Docker鏡像的過程詳解

    這篇文章主要介紹了Spring Boot 2.4 新特性之一鍵構(gòu)建Docker鏡像的過程詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • docker如何運行redis

    docker如何運行redis

    文章詳細(xì)介紹了如何使用Docker下載、配置和啟動Redis鏡像,包括指定版本、創(chuàng)建掛載目錄、修改配置文件(如啟用持久化、設(shè)置密碼等)以及啟動容器的步驟
    2024-11-11
  • Docker鏡像拉取失敗問題分析及解決方案

    Docker鏡像拉取失敗問題分析及解決方案

    在使用Docker時,我們經(jīng)常需要從Docker鏡像倉庫中拉取鏡像,以便于在本地機器上運行,下面這篇文章主要給大家介紹了關(guān)于Docker鏡像拉取失敗問題分析及解決方案,需要的朋友可以參考下
    2024-08-08
  • docker啟動jar包輸出日志的問題以及解決

    docker啟動jar包輸出日志的問題以及解決

    這篇文章主要介紹了docker啟動jar包輸出日志的問題以及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08

最新評論