精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

絲滑的打包部署,一套帶走

開發 項目管理
Docker 依賴于已存在并運行的 Linux 內核環境。實質上是在已經運行的 Linux 下制造了一個隔離的文件環境,因此它執行的效率幾乎等同于所部署的 Linux 主機。

你好,我是悟空。

本文主要內容如下:

圖片

目錄

一、背景

圖片

Docker打包部署方案

項目背景:新項目的后端框架是剛起步,搭建的是一套微服務框架,基礎服務有網關 Gateway, Nacos 注冊中心,以及其他的微服務?,F在需要弄個簡單且方便的,基于 Docker 的部署方式。

為什么用 Docker:為了讓后端程序更容易打包部署和管理,所以用上了 Docker 容器化部署。比如用 Docker Swarm 或 K8s 來管理多個容器。

為什么要提到 Windows:本地機器是 Windows 系統開發,通過 Windows + IDEA 將應用程序打成 Docker 鏡像,然后拷貝到 Linux 服務器進行容器化部署。

  • 疑問1:有同學可能會有疑問,Windows 還能跑 Docker 嗎???那必須的!
  • 疑問2:如果項目的代碼改了,是不是得重新打包 docker 鏡像?不需要,直接替換 docker volume 里面的 JAR 包即可。
  • 疑問3:怎么沒有用 Jenkins?新項目,新項目,牛奶和面包都會有的。

二、Windows 運行 Docker

2.1 原理

為了在 Windows 能夠打包 Docker 鏡像,就必須弄個可以運行 Docker 的環境。

Docker 依賴于已存在并運行的 Linux 內核環境。實質上是在已經運行的 Linux 下制造了一個隔離的文件環境,因此它執行的效率幾乎等同于所部署的 Linux 主機。

如果其他系統想部署 Docker 就必須安裝一個虛擬 Linux 環境。

2.2 啟用 Hyper-V

圖片

Windows+虛擬機+Docker

Windows 自帶的 Hyper-V 工具就是一款管理和創建虛擬機的工具,要求:Windows 10 企業版、專業版或教育版。啟用 Hyper-V 如下所示:

圖片

啟用 Hyper-V

操作步驟:程序和功能->打開或關閉 Windows 功能->選擇“Hyper-V”,然后單擊“確定

參考鏈接:

https://learn.microsoft.com/zh-cn/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v

2.3 安裝 Docker for Windows

點擊 官網下載地址,并下載 Windows 的版本,安裝就是一路點擊 next 就好了。

官網下載地址:https://www.docker.com/products/docker-desktop/

安裝好之后,打開 Windows 的Powershell 命令行窗口,執行 docker run hello-world。當看到 Hello from Docker!就表示安裝成功。

圖片

好了,現在我們開發環境擁有了運行 docker 容器,打包 docker 鏡像的能力。接下來我們來看下如何用 IDEA 開發工具來啟動 docker 容器和打包鏡像。

三、IDEA 打包鏡像

IDEA 工具很強大,提供 Docker 相關的功能。

IDEA 打包 Docker 鏡像的方式主要分為這么幾步:

  • 通過 Maven 工具將 SpringBoot 應用程序打成可執行的 JAR 包。
  • IDEA 執行指定的 Dockerfile 打包成 Docker 鏡像。

這里我寫了一個簡單 SpringBoot 項目,定義了一個簡單的 Rest API 接口。

圖片

應用程序的端口為 9600。

server.port=9600

3.1 Maven Build JAR 包

Maven 打包的話這個我們都比較熟悉,直接執行 Maven 命令(mvn package)或者在 IDEA 上點擊 Maven 相關按鈕即可。就會生成這樣一個包

operation-core-0.0.1-SNAPSHOT,我們可以把它的名字改短一點,就改為  operation.jar 吧

3.2 編寫 Dockerfile

Dockerfile 又是什么呢?

它是一個用來構建鏡像的文本文件,文件內容就是一條條構建鏡像所需的指令和說明。

我們就到項目創建兩個 dockerfile 文件吧,一個用作開發環境的,一個用作生產環境的。

圖片

如下所示:

# 拉取指定的鏡像文件
FROM hub.c.163.com/library/java:latest

# MAINTAINER 指令允許你給將要制作的鏡像設置作者信息
MAINTAINER wukong <1@163.com>
# 容器內創建一個 apps 目錄,用來掛載 jar 包
RUN mkdir -p /apps
# 將 passjavas-demo-1.0 jar 包復制到 /apps/passjava-demo.jar
ADD passjava-demo-1.0.jar /apps/passjava-demo.jar
# 設置時區
ENV TZ "Asia/Shanghai"
# 設置暴露的端口
EXPOSE 9600
#dockerfile中增加健康檢查,interval表示每個5分鐘檢查一次,timeout每次超過5秒鐘認定為失敗,retries失敗后輪詢3次認定為容器不健康,考慮重啟。
#HEALTHCHECK --interval=60s --timeout=5s --retries=6 \
# CMD curl -f http://localhost:8989/health || exit 1
# 運行 Java 應用程序的命令
ENTRYPOINT ["java","-jar","/apps/passjava-demo.jar"]

3.3 配置和執行 Dockerfile

在 IDEA 里面創建一個 運行配置,添加一個 Dockerfile 配置,如下所示:

圖片

開始運行這個配置后,IDEA 就會根據 dockerfile 里面的配置自動拉取 Java JDK 鏡像文件,這個過程會比較長,Java JDK 還是比較大的。

拉取之后,會一步步執行 dockerfile 里面的命令,最后會啟動一個 docker 容器。

圖片

3.4 測試

我們來測試下 Java 程序是否正常運行。還是用 curl 命令訪問 Restful API。

curl http://localhost:9600/test

圖片

咦?居然訪問不通,這是為啥??

我們來排查下。先看下容器日志,執行命令 docker logs <容器id>,可以看到 Java 應用程序正常啟動,也沒有報錯日志。

圖片

那說明可能是網絡問題,比如容器的端口和我們本機的端口沒有映射。果不其然。這里端口是否沒有映射的,如下圖所示。

圖片

那說明通過這種方式雖然能正常啟動程序,但是程序不能提供服務,那就換一種方式。上面的方式是通過 Dockerfile 創建了一個鏡像文件,然后 IDEA 工具幫我們啟動了一個 Docker 容器,但是這種容器還缺少一些參數,比如端口映射沒有做。要不我們就自己來啟動一個容器看看?自己啟動就是通過 docker run 命令即可,不過也可以通過創建一個 IDEA container 配置來啟動一個容器。

3.5 IDEA 自定義容器

如下圖所示,自定義一個容器跑配置。因為上面的步驟我們已經創建了鏡像了,所以可以直接用這個鏡像即可。

圖片

話不多說,直接運行起來看下。

圖片

再來看下端口映射,這次就映射好了,完美!

圖片

再來測試下是否能訪問 API。還是用 curl 命令,返回結果如下,這次就成功了。

passjava,悟空聊架構

圖片

四、部署到服務器

4.1 部署思路

不過這都是在我們本地玩的,如何把它弄到服務器上呢??步驟如下:

  • 把鏡像保存為一個壓縮包,上傳到服務器,服務器上用命令啟動容器。
  • 如果有代碼修改,把項目重新打成 JAR 包上傳到掛載的目錄就可以了。

如下圖,和文章最開始看到的圖相比,做了一些簡化,思路是一致的。

圖片

4.2 部署

先在本地把 docker 鏡像打成一個 tar 包。

docker save passjava-docker-demo-23.02 -o D:\passjava-demo.tar

然后把這個 tar 包拷貝到 Linux 服務器。

圖片

將鏡像拷貝到服務器

接著將 tar 加載為 docker 鏡像

docker load -i passjava-demo.tar

圖片

passjava-demo鏡像包

然后就可以通過命令來啟動容器了。命令里面包含了掛載的目錄卷,端口映射,啟動方式等。

docker run --name passjava-demo -d \
-v /nfs-data/service:/nfs-data/service \
-v /nfs-data/service/apps:/apps \
-v /nfs-data/service/logs:/nfs-data/service/logs \
--restart=always \
-p 9600:9600 \
passjava-docker-demo-23.02

咦,啟動容器又報錯了,查看日志提示找不到 jar 包。

圖片

啟動報錯,找不到 jar 包

哦,想起來了,掛載上面的 apps 目錄后,容器會從容器里面的 apps 目錄找 JAR 包,發現沒有這個 jar 包,當然報錯了呀!

圖片

運行命令

而這個 apps 目錄正好是和宿主服務器的 /nfs-data/service/apps 目錄做了映射的,這個目錄沒有 jar 包,容器里面的 apps 目錄也就沒有 jar 包。所以我們可以把 jar 包拷貝到這個目錄就好了。

圖片

等等,為什么用 IDEA 啟動容器時沒有問題?因為當時沒有 IDEA 做目錄的映射。

啟動完成后,我們來測試下部署的服務是否正常。

圖片

- END -

關于我

InfoQ 簽約作者、藍橋簽約作者、阿里云專家博主、51CTO 紅人。

責任編輯:武曉燕 來源: 悟空聊架構
相關推薦

2023-10-23 12:31:40

2023-07-18 07:56:20

2025-09-08 00:00:00

2009-06-23 18:01:45

Ajax框架源代碼

2018-08-31 08:42:48

LinuxUnix實用程序

2014-12-02 10:02:21

Android異步任務

2024-05-16 12:03:54

Python代碼開發

2012-05-11 11:57:01

2021-01-08 08:19:36

數據庫TiDB集群

2019-10-11 15:58:25

戴爾

2021-05-27 07:12:19

單點登錄系統

2022-07-14 07:34:26

windowsmysqlcentos

2021-03-29 11:20:39

前端代碼工作流

2024-12-09 09:25:30

2025-04-07 07:45:00

AI模型神經網絡

2024-05-21 10:28:51

API設計架構

2025-09-30 07:16:59

2010-06-09 17:00:43

UML試題

2024-11-19 16:31:23

2024-11-12 08:13:09

點贊
收藏

51CTO技術棧公眾號

精品96久久久久久中文字幕无| 超碰这里只有精品| 丁香六月久久综合狠狠色| 日韩视频一区在线| 国产aⅴ爽av久久久久| 麻豆传媒在线免费| 国产精品白丝jk黑袜喷水| 欧美激情成人在线视频| 国产精品手机在线观看| 涩涩视频在线| 日本一区二区成人| 亚洲影影院av| 欧美三日本三级少妇99| 成人三级视频| 日韩视频一区在线观看| 国产中文字幕二区| 亚洲麻豆精品| 国产成人av网站| 青青青国产精品一区二区| 丁香激情五月少妇| 日韩欧美中文字幕一区二区三区 | 国产精品久久国产精麻豆99网站| 91青草视频久久| 国产精品第9页| 色天天综合网| 亚洲黄色免费三级| 污污动漫在线观看| 91桃色在线观看| 欧美国产综合色视频| 痴汉一区二区三区| 久久久999久久久| 欧美特黄a级高清免费大片a级| 国产视频亚洲视频| 青青草精品在线| 黄色成人在线视频| 亚洲一本大道在线| 五月婷婷综合色| 蜜臀av在线观看| 麻豆精品在线观看| 欧美亚洲成人精品| 1024手机在线视频| av免费网站在线| 99久久伊人网影院| 91美女片黄在线观| 午夜久久久久久久久久影院| 国产一区亚洲| 久久精品小视频| 欧美熟妇一区二区| 一区二区三区免费在线看| 欧美三级中文字幕| 日韩av片在线看| 国产一线二线在线观看| 综合色中文字幕| 茄子视频成人在线观看| 午夜在线观看视频18| 成人综合在线网站| 51国偷自产一区二区三区的来源| 特级西西444www大胆免费看| 午夜在线视频一区二区区别| 欧美黑人xxxⅹ高潮交| 午夜爱爱毛片xxxx视频免费看| 成人免费av| 亚洲视频欧美视频| 熟女俱乐部一区二区视频在线| 国产精品一区二区三区四区在线观看| 欧美三级免费观看| 91免费黄视频| av日韩中文| 亚洲图片欧美一区| 久久久国内精品| 婷婷色在线资源| 综合欧美一区二区三区| 中文字幕在线亚洲精品| 色开心亚洲综合| 国产精品久久毛片av大全日韩| 欧美日产一区二区三区在线观看| 亚洲欧洲综合在线| 久久久www成人免费无遮挡大片| 精品一区久久久| 青青草免费在线视频| 久久影院午夜论| 欧美一卡2卡3卡4卡无卡免费观看水多多 | 久久久久97| 精品国产三级a在线观看| 91丨porny丨九色| 中文字幕一区二区三区四区久久| 精品久久国产97色综合| 国产又粗又猛又色| 日韩aaa久久蜜桃av| 精品日韩欧美在线| 中文乱码人妻一区二区三区视频| 欧美影院天天5g天天爽| 日韩精品视频在线免费观看| 色噜噜日韩精品欧美一区二区| 精品国产一区二区三区久久久蜜臀| 一本色道久久综合亚洲精品小说| 在线观看天堂av| 欧美69wwwcom| 性色av一区二区咪爱| 一级片在线观看免费| 日韩av中文字幕一区二区| 国产欧美日韩免费看aⅴ视频| 国产乱码精品一区二三区蜜臂 | 国产亚洲xxx| 日韩国产第一页| 国模大胆一区二区三区| 欧美一二三视频| 在线观看中文字幕码| 美女高潮久久久| 91精品视频在线播放| 性一交一乱一精一晶| 久久综合视频网| 一区二区不卡在线观看| 久久99亚洲网美利坚合众国| 日韩欧美在线中文字幕| 五月激情婷婷在线| 精品人人人人| 最新的欧美黄色| 九九九国产视频| 麻豆中文一区二区| 激情视频一区二区| 日本电影在线观看网站| 午夜欧美视频在线观看| mm131国产精品| 激情视频极品美女日韩| 爽爽爽爽爽爽爽成人免费观看| 东方av正在进入| 久久久久久久波多野高潮日日| 成人动漫网站在线观看| 偷拍25位美女撒尿视频在线观看| 亚洲色图在线视频| 午夜激情福利在线| 女一区二区三区| 操人视频在线观看欧美| 国产一卡二卡三卡| 成人av在线资源网站| 一区二区冒白浆视频| 亚洲精品一区| 精品国产乱码久久久久久1区2区 | 国模吧一区二区三区| 懂色av蜜臀av粉嫩av喷吹| av高清久久久| 在线国产精品网| 先锋欧美三级| 亚洲乱码av中文一区二区| 欧美激情精品久久| 精品一区中文字幕| 色一情一乱一伦一区二区三欧美| 免费高潮视频95在线观看网站| 欧美二区在线观看| 国产偷人妻精品一区| 亚洲一级网站| 国产成人成网站在线播放青青 | 年轻的保姆91精品| 中文字幕亚洲欧美日韩高清| 午夜婷婷在线观看| 国产美女主播视频一区| 一区二区成人国产精品 | 青青草国产免费一区二区下载| 91国产一区在线| 粉嫩小泬无遮挡久久久久久| 亚洲精品久久久蜜桃| 天天色天天综合网| 国产一区二区三区91| 青青草原成人在线视频| 日韩专区一区二区| 欧美日韩在线影院| 丰满少妇一区二区三区| 久久九九99| 欧美日韩免费观看一区| 卡通欧美亚洲| 亚洲人午夜精品免费| 毛片毛片女人毛片毛片| 2021久久国产精品不只是精品| 日韩少妇内射免费播放| 欧美尿孔扩张虐视频| 97精品欧美一区二区三区| 免费av网站观看| 午夜精品久久久久久久久| 国产精品久久久久久久无码| 亚洲欧美高清| 日韩欧美国产二区| 日韩成人一区| 欧美猛男性生活免费| 后进极品白嫩翘臀在线视频| 午夜精品爽啪视频| 这里只有久久精品| 久久精品国内一区二区三区| 先锋在线资源一区二区三区| 外国成人毛片| 欧美国产日韩中文字幕在线| 成人免费公开视频| 欧美性猛交xxxx黑人| 中文字幕第69页| av不卡免费电影| 一本久道综合色婷婷五月| 欧美日韩精品在线一区| 91在线视频免费| heyzo中文字幕在线| 亚洲国产中文字幕久久网| 黄色av网站免费| 亚洲三级免费电影| 30一40一50老女人毛片| 美女视频网站黄色亚洲| 成年人视频网站免费| 精品在线91| 亚洲精品欧美日韩专区| 69久成人做爰电影| 久久亚洲一区二区三区四区五区高 | 日韩人在线观看| 来吧亚洲综合网| 99天天综合性| 欧美精品aaaa| 亚洲综合小说| 国产在线精品一区二区三区| 国产毛片精品久久| 98精品国产自产在线观看| 91大神在线网站| 亚洲第一av网| 999精品国产| 日本精品视频一区二区| 美女的奶胸大爽爽大片| 国产日韩欧美a| 不许穿内裤随时挨c调教h苏绵 | 亚洲高清视频在线播放| 欧美亚洲高清一区| 日本少妇bbwbbw精品| 国产精品久久久久久户外露出 | 精品一区二区免费在线观看| 日韩欧美一区二| 日本久久综合| 激情伦成人综合小说| 国产午夜久久av| 日韩av电影免费观看高清| 免费毛片在线看片免费丝瓜视频 | 精品国产一区av| 日本中文字幕电影在线观看| 日韩手机在线导航| 亚洲一区二区色| 一本色道久久综合亚洲aⅴ蜜桃| 国产人妻精品一区二区三区不卡| 国产日韩高清在线| 日b视频在线观看| 成人国产精品免费观看动漫| 亚洲欧美天堂在线| 日本成人在线一区| 日韩a在线播放| 国产日韩一区二区三区在线| av片在线免费| 欧美久久一级| 国产内射老熟女aaaa| 外国成人免费视频| 久久久一本精品99久久精品| 精品视频一二| 91久久久久久久久久久久久| 欧美啪啪网站| 国产精品久久久久久久9999| 裤袜国产欧美精品一区| 人九九综合九九宗合| 麻豆蜜桃在线观看| 2019av中文字幕| 成入视频在线观看| 3344国产精品免费看| 18在线观看的| 久久91精品国产91久久久| 国产二区三区在线| 久久精品视频免费播放| а天堂中文在线官网| 久久色精品视频| 天天色天天射天天综合网| 久久久久久久91| 不卡专区在线| 18性欧美xxxⅹ性满足| 国产传媒在线观看| 日本亚洲欧洲色α| 欧美va在线| 国产日韩精品一区二区| 国产区一区二| 超碰国产精品久久国产精品99| 成人在线视频你懂的| 久久久福利视频| 激情五月综合网| 在线观看欧美亚洲| 视频在线不卡免费观看| 天天操天天干天天玩| 亚洲精品黄色| 99视频在线免费| 精品一区二区三区免费观看| 欧美日韩一区二区区别是什么 | 国产欧美精品一二三| 国产精品一区二区黑丝| 蜜臀aⅴ国产精品久久久国产老师| 成人高清视频在线观看| 成人片黄网站色大片免费毛片| 国产精品久久久久久久裸模| 中文字幕电影av| 亚洲第一主播视频| 中文字幕精品视频在线观看| 宅男在线国产精品| 囯产精品一品二区三区| 亚洲欧美日韩国产中文专区| yourporn在线观看中文站| 久久精品国产91精品亚洲| 超免费在线视频| 国产精品入口日韩视频大尺度| 天堂精品在线视频| 日本电影一区二区三区| 亚洲一本二本| 青青青在线播放| 精品影视av免费| 疯狂揉花蒂控制高潮h| 国产欧美视频在线观看| 欧美片一区二区| 欧美日韩在线一区二区| 欧美一区二区公司| 色老头一区二区三区在线观看| 成人在线免费观看黄色| 国产精品一区二区三区毛片淫片 | 精品视频在线免费看| 欧美自拍第一页| 色多多国产成人永久免费网站 | 久久免费高清视频| 欧美xxxx网站| 精品一区二区三区免费毛片| 久久成人综合| www.四虎成人| 国产盗摄视频一区二区三区| www.黄色在线| 午夜欧美大尺度福利影院在线看| 国产精品老熟女视频一区二区| 日韩经典一区二区三区| av在线导航| 国产精品入口免费视频一| 台湾色综合娱乐中文网| 久久观看最新视频| 日本人妖一区二区| 好吊视频在线观看| 欧美综合色免费| 国产在线观看网站| 国产精品成人播放| 欧美日韩激情在线一区二区三区| 玩弄japan白嫩少妇hd| 久久夜色精品国产噜噜av| 自拍偷拍欧美亚洲| 亚洲男人的天堂在线| 日韩三级影视| 色女人综合av| 久久成人羞羞网站| 在线观看黄网址| 欧美一区二区视频在线观看2022 | 国产一区二区欧美| 91香蕉视频导航| 国产精品久久久久久妇女6080 | 国产精品影视天天线| 欧美成人三级在线观看| 精品人在线二区三区| 91av久久| 欧美日韩系列| 另类成人小视频在线| 亚洲二区在线播放| 日韩久久免费av| 天天综合av| 亚洲欧洲另类精品久久综合| 国产揄拍国内精品对白| 久久久久久久久精| 亚洲精品小视频| www.一区| 加勒比成人在线| 国产性天天综合网| 国产三级小视频| 2019精品视频| 四虎8848精品成人免费网站| 四虎国产精品永久免费观看视频| 午夜不卡av在线| 成人18在线| 成人在线观看91| 天堂va蜜桃一区二区三区漫画版| 欧美一区二区三区观看| 亚洲成人中文字幕| 亚洲四虎影院| 老司机激情视频| 国产亚洲精久久久久久| www.国产精品视频| 日本久久91av| 午夜久久tv| av永久免费观看| 精品对白一区国产伦| 韩日一区二区| 黄页网站大全在线观看| 中文在线一区二区| 东京干手机福利视频| 国产九九精品视频| 亚洲经典自拍| 色哟哟一一国产精品| 日韩高清欧美高清| 中文字幕综合| 热久久精品国产| 亚洲一区视频在线观看视频| 91亚洲精选| 蜜桃传媒视频第一区入口在线看|