免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
一步步把一個SpringBoot應用打包成Docker鏡像并運行

(1) 首先要有一個可以工作的SpringBoot應用。

從Jerry的github上clone這個github repository到本地:

cd進入項目文件夾內(nèi),使用命令行mvn spring-boot:run

當看到控制臺輸出 Tomcat started on port: 5030(http)的提示后,說明SpringBoot應用在本地啟動成功,

這時用下面的url可以訪問這個SpringBoot應用,如果一切正常,
http://localhost:5030/commerce/product

可以在瀏覽器里看到Hello World:

注:該SpringBoot應用監(jiān)聽的端口為5030,如果想修改成其他端口,在application.properties里修改。

(2) 下一步是登錄阿里云服務器,將該SpringBoot打包成Docker鏡像。

我的github倉庫里已經(jīng)寫好了一個Dockerfile文件,Docker鏡像就是基于該Dockerfile進行制作。

第一行的FROM命令,指定了我們這個鏡像基于openjdk這個鏡像制作。

第二行的VOLUME命令,定義了一個持久化存儲,指向容器中的tmp文件夾。SpringBoot應用為內(nèi)置的Tomcat服務器實例創(chuàng)建的默認工作目錄為tmp,通過該命令,可以在運行Docker的宿主機目錄/var/lib/docker創(chuàng)建一個臨時的目錄,掛接到容器內(nèi)部的tmp去。

如果你的SpringBoot應用不會進行持久化寫操作,則該步驟可以省略。

第三行,把本地目錄下target文件夾里打好的jar文件添加到容器里,重命名為app.jar.

第四行:ENV命令的作用是設置環(huán)境變量。在復雜的使用場景中,我們可能需要使用各種參數(shù)啟動JVM,這些參數(shù)通過ENV命令設置的環(huán)境變量傳入Java命令。在這個簡單的例子里可以省略環(huán)境變量的設置。

第五行:ENTRYPOINT,顧名思義,容器鏡像運行的起始點。

了解了這個Dockerfile的作用和語法后,我們使用docker build基于這個Dockerfile生成一個鏡像。

docker build -t jerry/springbootexample:v1 .

上面命令行最后的"."并不是表示結(jié)束的標點符號,而是Linux系統(tǒng)里的".", 代表當前目錄。

執(zhí)行上述命令行后,會看到我們在Dockerfile里定義的5條命令被依次執(zhí)行,首先是下載openJDK這個基礎鏡像:

然后依次執(zhí)行剩余步驟。

看到Successfully built 提示消息后,說明該鏡像成功創(chuàng)建了。

使用docker images命令行能看到這個鏡像,大小為136MB.

(3) 最后,就是使用docker run命令執(zhí)行這個鏡像。

run命令有很多參數(shù),比如以交互式方式運行鏡像:

docker run -it jerry/springbootexample:v1

這種方式下,鏡像處理用戶請求時的輸出會自動重定向到宿主機的控制臺上。

而-p參數(shù)可以實現(xiàn)端口映射,下面命令行的含義是把Docker內(nèi)SpringBoot應用監(jiān)聽的端口映射到宿主機的8000端口。這樣,當用戶在瀏覽器里訪問時,使用的端口應該是宿主機的端口8000.

docker run -p 8000:9000 --name jerrydockerdemo -d jerry/springbootexample:v1

可以使用docker ps命令拿到該運行鏡像的ID,再用docker stop命令終止鏡像的運行。

也可以使用命令docker exec -it, 進入一個正在運行的容器內(nèi)部:

sudo docker exec -it 8302db78f838 /bin/sh

我們之前在編寫Dockerfile時,用VOLUME指令創(chuàng)建的tmp,此時進入容器內(nèi)部就可以觀察到了。在tmp里,果然發(fā)現(xiàn)了SpringBoot在執(zhí)行過程中,其內(nèi)置的Tomcat實例運行時工作目錄下生成的數(shù)據(jù)。

要獲取更多Jerry的原創(chuàng)文章,請關注公眾號"汪子熙":


本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Docker和云原生應用的12要素
docker鏡像創(chuàng)建與基本使用
殺手級應用Docker 五分鐘入門
Docker 101:介紹與入門體驗
Docker三十分鐘快速入門(上)
docker入門實戰(zhàn)筆記
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服