創建一個簡單的spring boot web項目
idea工具創建spring boot web項目,因為是測試,一直next就行。
寫一個test api,用來訪問,服務端口號可以不用改,我本地改成8701。
程序啟動,發現程序不是默認的8080端口了,訪問:http://localhost:8701/v1/hello
以上一個簡單web項目建好了,下面我們通過docker來運行這個demo項目
第一步,你需要安裝docker(這里不做詳細步驟)。
第二步,我們需要一個有java環境docker鏡像。我是從網易云鏡像中心下載了一個,地址:https://c.163yun.com/hub#/library/repository/info?repoid=65430,大家也可以從阿里云等找到相應的具有java環境的鏡像來制作也可以。
獲取鏡像,將鏡像拉到本地
1
|
docker pull hub.c.163.com /housan993/centos7_jdk8 :latest |
第三步,我們現將demo項目打個jar包,mvn install,為了方便我生成的jar直接從target中拿到項目根目錄下了。
第四步,我們在項目下編寫一個dockerfile文件,用來制作demo項目的鏡像。
dockerfile文件里的命令大家執行百度
1
2
3
4
|
dockerfile文件內容: from hub.c.163.com /housan993/centos7_jdk8 :latest copy demo-0.0.1-snapshot.jar / cmd java -jar demo-0.0.1-snapshot.jar |
編寫好dockerfile文件后,我們通過docker命令來build一個鏡像。docker命令會自動找當前目錄下的dockerfile文件(默認的文件名要為dockerfile),其次要指定目錄路徑 “.”表示當前目前
1
|
docker build -t demo-img . |
看到如下日志,鏡像就制作成功了。
第五步,我們根據制作的鏡像來啟動我們程序的容器,并將端口(8701)映射到把本機的8701出來。
1
|
docker run -d -p 8701:8701 demo-image |
run完之后我們會得到一長串字符,這就是容器的container id。我們docker ps一下看看
我們再看看容器啟動的日志,看看我們的java程序有沒有運行起來
1
|
docker logs [container id ] |
由容器的日志,我們發現和我們本地啟動一個java程序的日志一模一樣,那么我通過映射出來的端口,再訪問下demo程序看看,行不行。
我們將demo容器停下,看我們還能訪問不?
stop容器命令:docker stop [container id]
訪問不了了。。。
我們再把我們的demo容器啟動
docker start [container id]
又可以訪問了。至此,我們通過docker 跑java程序的簡單使用已經完成。
展望上面只是docker 跑java程序的簡單使用。我們后續有興趣的,可以自己將打包,build等命令進行shell腳本的分裝,對容器版本進行自動生成,參數變量的動態取值都是可以的。只能說容器話非常好玩,將來自己項目自動化部署也是非常方便的,后面將介紹k8s容器編排工具,更為有趣。
到此這篇關于docker啟動java程序的方法步驟的文章就介紹到這了,更多相關docker啟動java程序內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://www.cnblogs.com/levcon/p/12442662.html