日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

使用Kubernetes和Docker将Spring Boot与MongoDB作为容器部署

發布時間:2024/9/27 javascript 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Kubernetes和Docker将Spring Boot与MongoDB作为容器部署 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

戳藍字“CSDN云計算”關注我們哦!



對于本教程,您將擁有一個Docker化Spring-Boot實例程序,該應用程序與MongoDB通信以獲取GET/POST API請求,并部署在Kubernetes集群中。
前提條件


  • Minikube

  • Kubectl

  • Docker

  • Maven


Docker是一個具有"社交"方面的Linux容器管理工具包,它允許用戶發布容器鏡像并且可以使用其他人發布的鏡像。運行一個容器化進程的秘訣就是通過Docker鏡像,在本篇文章中,我們將會構建一個簡單的Spring Boot應用。
您可以在https://github.com/aritnag/spring-boot-mongo-kubernetes-docker中找到該應用。
Docke File文件
  • FROM openjdk:8-jdk-alpine

  • ADD target/spring-boot-mongo-docker-1.0.0.jar app.jar

  • ENV JAVA_OPTS=””

  • ENTRYPOINT exec java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar


  • Docker Compose 文件
  • version: 2.1

  • services:

  • mongo:

  • image: mongo:3.2.4

  • ports:

  • 27017:27017

  • command: smallfiles

  • mongo-init:

  • build: ./mongo-init

  • links:

  • mongo

  • mongo-client:

  • image: mongoclient/mongoclient

  • ports:

  • 3030:3000

  • environment:

  • MONGOCLIENT_DEFAULT_CONNECTION_URL=mongodb://mongo:27017

  • links:

  • mongo

  • # APP ***************************************************************************************

  • spring-boot-mongo-docker:

  • image: aritranag20/spring-boot-mongo-docker

  • ports:

  • 8080:8080

  • links:

  • mongo

  • entrypoint: java -Djava.security.egd=file:/dev/./urandom -jar /app.jar


  • 構建Spring Boot App


    如果您想使用Maven來進行,請執行以下命令:
  • ./mvn package && java -jar target/spring-boot-mongo-docker-1.0.0.jar


  • 現在可以到http://localhost:8080/customer/ 來看到你存儲的用戶信息。
    Docker化
    我們需要一個JDK環境的容器來運行我們的Spring Boot應用。現在有許許多多的自帶JDK 8的公共可用鏡像,但是為了獲取端到端的體驗,我們自己來構建一個基于JDK 8 Alpha Linux的最小容器:
  • docker build -t aritranag20/spring-boot-mongo-docker .


  • 然后使用你在docker.io注冊的用戶名進行登錄:
  • docker login


  • 執行如下命令去發布你的鏡像到Docker鏡像中心:
  • docker push aritranag20/spring-boot-mongo-docker


  • 容器化
    如果您想用Docker來運行,執行以下命令:
  • ./docker-compose up


  • 部署到Kubernetes集群
    現在我們Docker倉庫中已經有一個可用的容器應用,我們可以將它部署到Kubernetes集群中。并且我們也會部署一個MongoDB節點來作為我們后端的數據支撐。
    使用如下命令來啟動本地Kubernetes集群:
  • minikube start


  • 你也可以啟動集群的DashBoard(可視化界面):
  • minikube dashborad


  • 接下來,為我們的應用在集群中創建一個部署:
  • kubectl create -f deployment.yml


  • 我們可以用如下命令查看服務的描述:
  • kubectl describe service spring-boot-mongo-docker


  • 現在可以啟動并獲取服務的地址:
  • minikube service spring-boot-mongo-docker


  • 它將啟動瀏覽器并指向端點。例如,在我的例子中:
  • curl http://192.168.99.101:30864/user =>

  • [{"id":"58bcd7ad5908010005cce257","firstName":"Arun","lastName":null,"email":null,"address":{"street1":null,"street2":null,"town":null,"postcode":null,"state":null}}]


  • 總結


    恭喜!你已經成功創建了一個Spring-Boot-MongoDB的Docker容器化應用,并在Kubernetes中托管了該應用程序。Spring Boot應用集群在容器內部默認使用端口8080運行,我們也在Pod中使用同樣的端口,并啟動多個實例來對服務進行負載均衡,可用使用 kubectl describe service spring-boot-mongo-docker命令來獲取NodePort信息。
    可選
    最后停止你本地的Kubernetes集群:
  • minikube stop


  • 推薦閱讀

    • 5G大規模商用來臨之前,你必須知道的幾個知識點

    • “離開360時,它只給了我一塊錢”

    • AI找Bug,一鍵快速預測

    • 原子互換:一統公鏈江湖的神來之筆

    • 春晚鬼畜 B 站日排行最高,趙本山:我的時代還沒有結束!

    • PDF翻譯神器,再也不擔心讀不懂英文Paper了

    • 新聞聯播也可以拿來做數據分析?

    • 高曉松侃5G!2019開年大講揭示運營商的秘密


    1.微信群:

    添加小編微信:color_ld,備注“進群+姓名+公司職位”即可,加入【云計算學習交流群】,和志同道合的朋友們共同打卡學習!


    2.征稿:

    投稿郵箱:liudan@csdn.net;微信號:color_ld。請備注投稿+姓名+公司職位。

    喜歡就點擊“好看”吧! 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的使用Kubernetes和Docker将Spring Boot与MongoDB作为容器部署的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。