您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)docker如何啟動(dòng)Java程序,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
創(chuàng)建一個(gè)簡單的Spring boot web項(xiàng)目
idea工具創(chuàng)建Spring boot web項(xiàng)目,因?yàn)槭菧y試,一直next就行。
寫一個(gè)test API,用來訪問,服務(wù)端口號可以不用改,我本地改成8701。
程序啟動(dòng),發(fā)現(xiàn)程序不是默認(rèn)的8080端口了,訪問:http://localhost:8701/v1/hello
以上一個(gè)簡單web項(xiàng)目建好了,下面我們通過docker來運(yùn)行這個(gè)demo項(xiàng)目
第一步,你需要安裝docker(這里不做詳細(xì)步驟)。
第二步,我們需要一個(gè)有java環(huán)境docker鏡像。我是從網(wǎng)易云鏡像中心下載了一個(gè),地址:https://c.163yun.com/hub#/library/repository/info?repoId=65430,大家也可以從阿里云等找到相應(yīng)的具有java環(huán)境的鏡像來制作也可以。
獲取鏡像,將鏡像拉到本地
docker pull hub.c.163.com/housan993/centos7_jdk8:latest
第三步,我們現(xiàn)將demo項(xiàng)目打個(gè)jar包,mvn install,為了方便我生成的jar直接從target中拿到項(xiàng)目根目錄下了。
第四步,我們在項(xiàng)目下編寫一個(gè)Dockerfile文件,用來制作demo項(xiàng)目的鏡像。
dockerfile文件里的命令大家執(zhí)行百度
dockerfile文件內(nèi)容: 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一個(gè)鏡像。docker命令會(huì)自動(dòng)找當(dāng)前目錄下的Dockerfile文件(默認(rèn)的文件名要為Dockerfile),其次要指定目錄路徑 “.”表示當(dāng)前目前
docker build -t demo-img .
看到如下日志,鏡像就制作成功了。
第五步,我們根據(jù)制作的鏡像來啟動(dòng)我們程序的容器,并將端口(8701)映射到把本機(jī)的8701出來。
docker run -d -p 8701:8701 demo-image
run完之后我們會(huì)得到一長串字符,這就是容器的CONTAINER ID。我們docker ps一下看看
我們再看看容器啟動(dòng)的日志,看看我們的java程序有沒有運(yùn)行起來
docker logs [CONTAINER ID]
由容器的日志,我們發(fā)現(xiàn)和我們本地啟動(dòng)一個(gè)Java程序的日志一模一樣,那么我通過映射出來的端口,再訪問下demo程序看看,行不行。
我們將demo容器停下,看我們還能訪問不?
stop容器命令:docker stop [CONTAINER ID]
訪問不了了。。。
我們再把我們的demo容器啟動(dòng)
docker start [CONTAINER ID]
又可以訪問了。至此,我們通過docker 跑java程序的簡單使用已經(jīng)完成。
關(guān)于docker如何啟動(dòng)Java程序就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。