docker之更新jar問(wèn)題
Dockerfile
# Docker image for springboot file run # VERSION 0.0.1 # Author: eangulee # 基礎(chǔ)鏡像使用java FROM java:8 # 作者 MAINTAINER eangulee <eangulee@gmail.com> # VOLUME 指定了臨時(shí)文件目錄為/tmp。 # 其效果是在主機(jī) /var/lib/docker 目錄下創(chuàng)建了一個(gè)臨時(shí)文件,并鏈接到容器的/tmp VOLUME /tmp ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/data/dockerlearn.jar"]
這里的第四個(gè)參數(shù) /data/dockerlearn.jar,表示jar包在容器中的位置。
鏡像文件
jar放在data里面
1.生成鏡像 注意 點(diǎn)
?docker build -t dockerlearn .
2.創(chuàng)建容器 可能未啟動(dòng)
docker run --name dockerlearn -it -v /home/app/dockerlearn:/data -d -p 8088:8088 dockerlearn
- -- name dockerlearn :容器名
- -v /home/app/dockerlearn :掛載到主機(jī)該目錄下
- -p 8088:8088 dockerlearn :映射端口號(hào),和鏡像名稱
3.然后啟動(dòng)容器
docker start dockerlearn
4.這樣每次更新的jar包時(shí),將新jar包放入宿主機(jī)的“/home/app/dockerlearn”目錄下即可。
5.然后docker stop啟動(dòng)的容器,然后再docker start容器就可以了。就將新的應(yīng)用進(jìn)行了發(fā)布。
把 jar 放到到該目錄下
方式二
1.編寫(xiě)一個(gè)sh腳本
名字自己隨便取一個(gè),我這里文件名叫“hello.sh”,內(nèi)容如下:
java -jar /usr/data/hello-2.0.0-SNAPSHOT.jar
文件存放到與宿主機(jī)掛載的容器內(nèi)部文件夾中
2.編寫(xiě)Dockerfile文件
FROM java:8 EXPOSE 8888 CMD ["sh","-c","/usr/data/hello.sh"]
CMD [“sh”,"-c","/data/eurekaclient.sh"] 就是在容器啟動(dòng)時(shí)啟動(dòng)上一步創(chuàng)建的.sh腳本。
3.制作鏡像
docker build -t hello:demo .
4.創(chuàng)建容器
docker run -di --name=mydemo -p 8000:8888 -v /usr/local/apps/hello:/usr/data
5.完成并測(cè)試
這樣,就完成了,如果后面更新jar的話,直接將新的jar包替換到宿主機(jī)掛載的目錄下即可,如果文件名發(fā)生改變的話,可以直接修改sh腳本文件即可。更新完jar包之后記得需要重啟容器:
docker restart 容器名
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
docker中時(shí)區(qū)問(wèn)題的處理方法
這篇文章主要給大家介紹了關(guān)于docker中時(shí)區(qū)問(wèn)題的處理方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用docker具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09Docker安裝redis并且設(shè)置密碼,以及進(jìn)入容器修改密碼方式
這篇文章主要介紹了Docker安裝redis并且設(shè)置密碼,以及進(jìn)入容器修改密碼方式,2024-01-01Docker容器遷移Oracle到MySQL的實(shí)現(xiàn)方法
本文主要介紹了Docker容器遷移Oracle到MySQL的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07解讀docker運(yùn)行時(shí)-itd參數(shù)是什么意思
在Docker中,-itd參數(shù)組合用于在后臺(tái)運(yùn)行一個(gè)交互式容器,同時(shí)保持標(biāo)準(zhǔn)輸入和分配偽終端,這種方式適合需要在后臺(tái)運(yùn)行容器并保持交互能力的場(chǎng)景2025-03-03Docker中鏡像構(gòu)建文件Dockerfile與相關(guān)命令的詳細(xì)介紹
這篇文章主要介紹了Docker中鏡像構(gòu)建文件Dockerfile與相關(guān)命令的相關(guān)資料,文中介紹的很詳細(xì),相信對(duì)大家具有一定的參考價(jià)值,有需要的朋友們下面來(lái)一起看看吧。2017-02-02Linux下docker安裝mysql8并配置遠(yuǎn)程連接
本文主要介紹了Linux下docker安裝mysql8并配置遠(yuǎn)程連接,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07Windows(Win11)如何安裝Docker(Docker Desktop)
這篇文章主要介紹了Windows(Win11)如何安裝Docker(Docker Desktop),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06Docker?compose一鍵安裝mirai搭建QQ機(jī)器人最快操作方法
這篇文章主要介紹了Docker?compose一鍵安裝mirai,搭建QQ機(jī)器人最快方法,詳細(xì)介紹了mirai基本操作,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-04-04