使用 idea 的maven 打包,在target 目錄下生成一個jar文件?docker-boot-demo-1.0.0.jar
成都創(chuàng)新互聯(lián)公司是專業(yè)的織金網(wǎng)站建設公司,織金接單;提供成都網(wǎng)站設計、成都做網(wǎng)站,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行織金網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!注意:這個jar包的運行端口是 8080
2. 準備環(huán)境(1)在 linux 主機里新建一個目錄 /home/admin/app,用于存放bash文件和jar包。然后在該目錄 下創(chuàng)建bash文件和容器配置文件即Dockerfile?
(2)創(chuàng)建bash文件
vim run.sh
java -jar /usr/data/docker-boot-demo-1.0.0.jar
/usr/data 是docker容器內(nèi)的路徑,這是docker自己管理的,不需要手動創(chuàng)建。后面會將此路徑掛載到當前目錄? /home/admin/app
(3) 創(chuàng)建容器配置文件 Dockerfile, 并寫入以下內(nèi)容
vim Dockerfile
FROM openjdk:8-jdk-alpine
EXPOSE 8080
ENTRYPOINT ["sh","/usr/data/run.sh"]
注意EXPOSE 是 jar包運行的端口,與我們本地的一致
3. 構(gòu)建鏡像還是在 /home/admin/app 目錄下構(gòu)建鏡像,注意最后面的 "." 表示Dockerfile 在當前目錄
4. 創(chuàng)建容器并運行docker build -t mydemo:1.0.0 .
docker run -d -it --name=mydemo?-p 8081:8080?-v /home/admin/app:/usr/data mydemo:1.0.0
執(zhí)行后返回容器ID。
要查看運行的日志可以通過命令
docker logs --tail=100 mydemo
前面一個8081 是表示映射到宿主機的端口, 即外部瀏覽器可以通過訪問宿主機的這個端口調(diào)用到接口,這個可以隨意指定, 前提是宿主機的防火墻已經(jīng)開放了這個端口.
后面的是8080 是程序執(zhí)行的端口
5. 補充說明以上的做法, 我的思路是將容器內(nèi)的目錄掛載到宿主機的目錄下. 也就是將docker 容器內(nèi)的
/usr/data 掛載到宿主機的 /home/admin/app 目錄下。這樣做的好處是方便后期更新維護。
比如以后這個springboot項目改了代碼,重新打包命名為?docker-boot-demo-2.0.0.jar
只需要將新的jar包上傳到/home/admin/app 目錄,并將啟動腳本中1.0.0.jar 改成 2.0.0.jar即可。
最后將之前的老容器刪除,再重新運行容器。
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧