Docker 部署應用、jar 工程 docker 方式部署

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。

1. 把要部署的工程打成一個jar包。(我的工程叫 gentle?)

? ? 打 jar 的方法:超簡單方法: Intellij Idea 把 java 工程打成可運行的 jar

2. 把 jar 包上傳到 服務器確定目錄下。

? ?我是用 rz 命令直接選擇 jar 上傳到我存放 jar 的目錄:/root/jiangyu/dockerfiles/jar

3.編寫超級簡單版本的?dockerfile 文件:

# jdk 是一個已有的包含 jdk 的鏡像FROM jdk# ?作者簽名MAINTAINER JY# ?簡化 jar 的名字路徑 (#:表示注釋掉)COPY jar/gentle-1.0-SNAPSHOT.jar /app.jar# ?執行 java -jar 命令 (CMD:在啟動容器時才執行此行。RUN:構建鏡像時就執行此行)CMD java -jar /app.jar# ?設置對外端口為 8089EXPOSE 8089

4. 通過 dockerfile 文件生成本工程的鏡像:

# -t :給鏡像取名為 gentle 
docker build -t gentle .?

此行命令最后有一個點,表示使用當前上下文中的 dockerfile 文件 。

docker images 查看原有鏡像 ,并構建新鏡像:gentle:

從第 2 次查看鏡像可以確認,新的鏡像 gentle 已構建成功。

5. 通過鏡像啟動容器,命令如下:


#? -d 后臺運行、
#  最后一個 gentle 是引用的鏡像的名字、
#? --name jy_gentle 給容器取名為 jy_gentle (取名參數前面是兩短橫線)、
#? -p 8089:8089 端口映射,注意是小寫 p 
# 前一個 8089 是對外瀏覽器上訪問的端口,后一個 8089 是容器內工程本身的端口,兩者可不一樣docker run -d -p 8089:8089 --name jy_gentle gentle 

docker ps -a :查看當前服務器上所有容器。

從第 2 次查看可知容器已成功啟動。黃框中的是各個容器使用的鏡像的名字,藍框中的是各個容器的名字。

?

我的工程設置的本地端口也是8089?

6. postman 和瀏覽器 順利請求到 gentle 工程中的接口,說明部署成功

7. gentle 工程中接口實現:

?

部署完啦 ,走,出門溜達溜達,找點吃的去? ...

?

--------------------------------

2018.11.28 后記,每次改代碼都要重新部署依舊很麻煩,于是寫了個很簡單的腳本,運行就部署。

腳本內容只是把命令整合到一起了而已:

cd gentle_code# 備份原代碼
tar -zcvf gentle.tar ./gentle# 刪除原代碼文件夾
rm -rf gentle# 拉取代碼
echo -e "\033[32m\n從git拉取代碼\n\033[0m"
git clone https://gitee.com/FJ_WoMenDeShiJie/gentle.git
echo -e "\033[32m\n代碼拉取完成\n\033[0m"# 工程打包
cd gentle
rm -rf ./target/gentle-1.0-SNAPSHOT.jarecho -e "\033[32m\n開始打jar包\n\033[0m"
mvn install -Dmaven.test.skip=true
rm -rf ../../jar/gentle-1.0-SNAPSHOT.jar
cp ./target/gentle-1.0-SNAPSHOT.jar ../../jar
echo -e "\033[32m\njar包完成\n\033[0m"# 刪除原鏡像
docker rmi gentle &> /dev/null
echo -e "\033[32m\n刪除原鏡像\n\033[0m"
echo -e "\033[32m\n構建新鏡像\n\033[0m"cd ../../
docker build -t gentle .
echo -e "\033[32m\n新鏡像構建成功\n\033[0m"# 刪除原容器
docker rm -f gentle# 啟動容器
docker run -d -p 8089:8089 --name gentle gentle
echo  -e "\033[32m\n后端工程部署完成\n\033[0m"

?運行效果:

postman 請求,返回的已經有新接口數據了。

?

另外:前端工程部署腳本見:前端 vue 工程 Docker 方式部署

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/448793.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/448793.shtml
英文地址,請注明出處:http://en.pswp.cn/news/448793.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

流浪不是我的初衷 ... ...

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 或許,我從來就是一個習慣沉默的人 ... 或許,我從來就不善于傾述 ... 會有難過的時候,會有覺得累的…

第二階段沖刺(2)

1、整個項目預期的任務量 (任務量 所有工作的預期時間)和 目前已經花的時間 (所有記錄的 ‘已經花費的時間’),還剩余的時間(所有工作的 ‘剩余時間’) ; 所有工作的預期時間&#…

VS2008+OpenCL環境配置

1. 配置.cl文件支持: 1.1. 打開VS2008, 工具->選項->文本編輯器->文件擴展名,添加一個新的擴展名,指定編輯器為Microsoft Visual C 。這樣在OpenCL文件中就能顯示C的語法高亮了。 1.2. 配置OpenCL語法高亮 - 打開目錄~\NVIDIA Corpo…

第十二周學習進度報告

代碼時間:17小時左右, 代碼量:300行左右, 閱讀:一個app的誕生20頁;構建之法30頁 知識:抽象典型用戶(具有代表性)和場景,去設計相應功能。 轉載于:https://www…

我的桃花源

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 看了一個動畫片(《貓與桃花源》),畫風和內容并不是我最偏好的... 但故事結尾的旁白和歌曲卻打動了一…

promise實例

不廢話,粘代碼 function ajax(method, url, data) {let request new XMLHttpRequest();return new Promise(function (resolve, reject) {request.onreadystatechange function () {if (request.readyState 4) {if (request.status 200) {resolve(request.respo…

華為路由器配置DHCP中繼

DHCP(動態主機配置協議)理論知識:DHCP主要用來為客戶機自動配置I P地址相關的網絡參數,包括IP地址、子網掩碼、默認網關、DNS服務器等。 DHCP 通信為廣播的方式,因此當需要 DHCP 服務器為不同廣播域(路由或 VLAN 網段)…

基于GPU的K-Means聚類算法

聚類是信息檢索、數據挖掘中的一類重要技術,是分析數據并從中發現有用信息的一種有效手段。它將數據對象分組成為多個類或簇,使得在同一個簇中的對象之間具有較高的相似度,而不同簇中的對象差別很大。作為統計學的一個分支和一種無監督的學習…

IntelliJ IDEA 工具篇之如何切換 git 分支

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1、進入項目和工程。 2、點擊右下角的git:master,然后選擇origin/master,然后選擇你要切換的分支,我…

IDEA---SpringBoot同一個項目多端口啟動

-Dserver.port xxxx 轉載于:https://www.cnblogs.com/tonyzt/p/10987116.html

好程序員Web前端分享無法忽視的JavaScript技巧

好程序員Web前端分享無法忽視的JavaScript技巧。在大家從事web前端的工作中,很容易忽視一些JavaScript的小技巧,今天為大家總結了一些容易被大家忽略的技巧,希望能夠對大家有所幫助。1、過濾唯一值Set類型是在ES6中新增的,它類似于…

GPU通用計算調研報告

摘要:NVIDIA公司在1999年發布GeForce256時首先提出GPU(圖形處理器)的概念,隨后大量復雜的應用需求促使整個產業蓬勃發展至今。GPU在這十多年的演變過程中,我們看到GPU從最初幫助CPU分擔幾何吞吐量,到Shader…

git 圖形化工具 GitKraken 的使用 —— 分支的創建與合并

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 分支管理是Git工作流的重點 在之前的文章中通過GitKraken可以很清楚的看到,每一次commit,git把他們串成了一條線…

ubuntu11.04下CUDA4.0的安裝與配置

1:下載CUDA 4.0 安裝官網最新的顯卡驅動: 安裝方法可以參考: 《Ubuntu11.04下安裝Nvidia顯卡驅動的方法》 然后從NVIDIA網站(http://developer.nvidia.com/cuda-downloads)下載 CUDA Toolkit for Ubuntu Linux 10.10&a…

GitKraken - 簡單教程

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 簡單介紹:外觀 GitKraken首頁預覽圖 常用快捷鍵 模糊搜索:(cmd p) 在進行模糊搜索的時候會在當前頁面彈出一個…

LeetCode刷題第二天——3Longest Substring Without repeating character 4 Median of Two Sorted Arrays...

混淆點: 子串 連續 子序列 可以不連續 知識點: HashMap: 出現問題: 1.使用unordered_map頭文件時報錯 #error This file requires compiler and library support for the ISO C 2011 standard. This support is currently experi…

【BZOJ 3339 / BZOJ 3585 / luogu 4137】Rmq Problem / mex

【原題題面】傳送門 【題解大意】 都說了是莫隊練習題。 考慮已知[l,r]區間的mex值時&#xff0c;如何求[l1,r]的mex值。 比較a[l1]與已知ans的大小&#xff0c;如果a[l1]>ans或者a[l1]<ans&#xff0c;均對答案沒有影響。 如果a[l1]ans&#xff0c;考慮找到一個比當前an…

postman 無法正常返回結果 Could not get any response

在瀏覽器輸入地址可以返回結果&#xff0c;但是由于返回的json沒有格式&#xff0c;看起來比較麻煩&#xff0c;用postman卻報錯Could not get any response。 可以注意到下面寫了可能的情況&#xff1a;比如服務器無響應&#xff08;由于瀏覽器可以訪問&#xff0c;所以排除…

在Windows 下使用OpenCL

目前&#xff0c;NVIDIA和AMD的Windows driver均有支援OpenCL&#xff08;NVIDIA的正式版driver是從195.62版開始&#xff0c;而AMD則是從9.11版開始&#xff09;。NVIDIA的正式版driver中包含OpenCL.dll&#xff0c;因此可以直接使用。AMD到目前為止&#xff0c;則仍需要安裝其…

Java中方法重載

方法重載&#xff1a;指在同一個類中&#xff0c;允許存在一個以上的同名方法&#xff0c;只要它們的參數列表不同即可&#xff0c;與修飾符和返回值類型無關。參數列表&#xff1a;個數不同&#xff0c;數據類型不同&#xff0c;順序不同。重載方法調用&#xff1a;JVM通過方法…