<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      SpringBoot+Docker +Nginx 部署前后端項目

      部署SpringBoot項目(通關版)

      一、概述

      使用 java -jar 命令直接部署項目的JAR包和使用Docker制作鏡像進行部署是兩種常見的部署方式。以下是對這兩種方式的概述和簡要的優劣勢分析:

      1.1、使用 java -jar 命令直接部署項目的JAR包

      概述:

      • 通過 java -jar 直接部署項目的JAR包是最簡單直接的部署方式之一。它直接利用了Java的特性,無需額外的容器技術支持。
      • 你可以在命令行中使用 java -jar 啟動一個JAR文件,從而運行你的Java應用。

      優勢:

      • 簡單直接:直接使用JVM運行JAR包,無需依賴其他容器技術,部署簡單。
      • 適用范圍:適用于簡單的、單一的應用部署。

      劣勢:

      • 彈性和隔離性差:直接運行在主機上,沒有資源隔離,可能會受到主機環境的影響。
      • 難以管理:難以控制不同版本的應用,無法靈活地管理多個實例。

      1.2、使用Docker制作鏡像進行部署

      概述:

      • 使用Docker可以將應用、運行環境、依賴項等打包到一個鏡像中,并在不同環境中進行一致的部署。
      • 通過Docker可以更加方便地管理應用的部署和運行,以及實現多實例部署和水平擴展。

      優勢:

      • 靈活部署:容器化的應用更易于在不同的環境中部署和運行。
      • 資源隔離:使用容器可以實現資源的隔離和更好的應用安全性。
      • 一致性:Docker鏡像提供了可重復、一致的運行環境,解決了“在我的機器上是好的”的問題。

      劣勢:

      • 學習曲線:引入Docker增加了一定的學習和適應成本。
      • 運維復雜性:需要考慮容器的運行、監控、網絡配置等方面的問題,增加了一定的運維復雜性。

      綜上所述,兩種部署方式各有優勢和劣勢。使用 java -jar 直接部署簡單直接,適用于簡單的、單一的應用部署;而使用Docker制作鏡像進行部署更加靈活,容易實現一致性部署和資源隔離,但需要考慮學習曲線和運維復雜性。

      二、使用 java -jar 運行jar 包

      使用這個部署方式的優勢是:簡單,快捷

      2.1、CentOS 7 下載安裝 Java JDK 17

      2.1.1、操作步驟

      1. 利用 wget 下載 Java JDK 17 到 /usr/local/java 安裝目錄中,并解壓縮
      ## 進入安裝目錄
      cd /usr/local/
      ## 新建Java安裝目錄,并進入此目錄
      mkdir java
      cd java/
      ## 下載JDK
      wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz
      ## 將安裝包解壓縮到java目錄
      tar -zxvf /root/jdk-17_linux-x64_bin.tar.gz
      ## 進入目錄
      cd jdk-17.0.4.1/
      

      2.配置環境變量

      ## 配置環境變量
      vim /etc/profile
      

      將下面內容加到該文件的末端

      ## set java environment
      JAVA_HOME=/usr/local/java/jdk-17.0.4.1
      PATH=$PATH:$JAVA_HOME/bin
      export JAVA_HOME PATH
      

      3.重新加載該文件使其生效

      ## 重新加載profile
      source /etc/profile
      

      4.至此,Java JDK 17 安裝完成,驗證 Java 版本

      ## 查看Java版本
      java -version
      

      2.2、運行項目

      這個啟動就比較簡單,找到上傳的jar 包,執行命令就行

      java -jar yourfile.jar
      

      三、使用docker 制作鏡像部署自己項目的jar 包

      詳細步驟

      3.1、安裝docke

      3.1.1、安裝前準備工作

      • 查看服務器系統版本以及內核版本
      cat /etc/redhat-release
      
      #查看服務器內核版本
      uname -r
      

      這里我們使用的是CentOS 7.4 系統,內核版本為3.10

      • 安裝依賴包
       yum install -y yum-utils device-mapper-persistent-data lvm2
      
      • 設置阿里云鏡像源
      yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
      

      3.2、安裝Docker

      3.2.1、 Docker版本說明

      Docker從17.03版本之后分為兩個版本:社區版(Community Edition,縮寫為 CE)和企業版(Enterprise Edition,縮寫為 EE)。
      企業版包含了一些收費服務,個人開發者一般用不到,所以我們只需要安裝社區版docker-ce版本即可。

      3.2.2、 docker-ce安裝

      yum install -y docker-ce
      

      3.2.3、 動docker并設置開機自啟

      #啟動docker命令
      systemctl start docker
      #設置開機自啟命令
      systemctl enable docker
      #查看docker版本命令
      docker version
      

      3.3、配置阿里云鏡像源

      docker 鏡像源地址默認是國外的,網速慢,并且不配置的話還可以在拉取的時候會報錯

      3.3.1,首先需要創建阿里云的賬號(免費注冊),阿里云官網地址: www.aliyun.com

      3.3.2,搜索容器鏡像加速

      3.3.3,找到自己的鏡像地址

      3.3.4,在 Lunix 里面配置鏡像

      路徑:/etc/docker/daemon.json

      如果沒有就直接新建一個文件

      {
        "registry-mirrors": ["https://XXXX.mirror.aliyuncs.com"]
      }
      

      3.3.5,重啟保存

      #重啟docker
      sudo systemctl daemon-reload
      sudo systemctl restart docker
      

      3.3.6,查看結果

      這里就是你阿里云的鏡像加速地址

      四、創建dockerFile

      eip 這個可以改成自己項目的名稱,不過后面的命令都需一系列改動

      # 使用 OpenJDK 17 作為基礎鏡像
      FROM openjdk:17
      
      # 作者
      MAINTAINER admin
      
      # 在容器中創建一個臨時文件夾
      VOLUME /tmp
      
      # 復制本地的jar文件到容器中,并將其重命名為eip.jar
      COPY eip-0.0.1-SNAPSHOT.jar eip.jar
      
      # 更新文件的修改時間
      RUN bash -c 'touch /eip.jar'
      
      # 定義容器啟動時運行的命令
      ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/eip.jar"]
      
      

      五、構建鏡像

      在當時目錄下根據dockerfile 構建一個eip 的鏡像

      這里的jar包和dockerfile、必須在同一目錄,我這里放在 home目錄下,eip 是自己新建的文件夾

       # 構建鏡像
       docker build -t eip .
       
       # 查看命令,就會出現生成的鏡像
       docker images
      

      結果:

      六、配置docker網絡

      以便宿主機內在同一個網絡下的各個容器能夠相互通信

      # 構建網絡名:eip_net
      docker network create --driver bridge eip_net
      
      #查找網絡的名稱或者 ID
      docker network ls
      
      #刪除網絡名(這個不需要執行,這里只是提供)
      docker network rm your_network
      

      結果:

      七、根據鏡像運行容器

      # 其中 eipcontainer是容器名   eip_net是網絡名       eip是鏡像名(剛剛上面生成的)
      
      docker run -d --name eipcontainer --network eip_net -p 8069:8069 eip
      
      # 檢查命令
      docker ps
      

      結果: 這里我是二次生成,容器名稱改了 eipcontainer ==》eip eipcontainer (如下name)

      到這里就是成功的:手動利用dockerfile在docker 里面把自己的jar 包打成鏡像,并運行容器

      這個時候我們也可以訪問接口地址,但是前提得自己項目有集成文檔

      例如:IP+端口/doc.html

      綜合腳本

      如果感覺上面的部署太麻煩,這里提供一個啟動腳本,這樣每次修改后的代碼只需要重新上傳jar和重新執行腳本就是最新的代碼,而不需上面的復雜流程。

      前提:文件必須在同一目錄下,并且已經上傳Dockerfile 和jar 包


      1.

      新建 start.sh 腳本

      echo "eip startup"
      
      echo "刪除容器和鏡像"
      docker stop $1
      docker rm $1
      docker rmi $(docker images | awk '/^<none>/ { print $2 }')
      
      
      echo "構建鏡像"
      docker build -t eip .
      
      echo "根據鏡像構建容器"
      docker run -d --name eip --network eip_net -p 8069:8069 eip
      
      echo "eip startup success"
      

      一鍵執行腳本文件

      # 執行命令 eip 表示腳本的$1   8069 表示腳本的$2  類似以參數的方式進行傳遞
      sh start.sh eip 8069
      

      這里沒有去拉取倉庫的代碼,是因為快速部署,這里也是可以優化的點。如果想要拉取代碼,一鍵打包,自動部署,可以參考下面文章:

      文章地址:

      高端操作: 倉庫 + Jenkins + maven + docker + K8S 這樣的部署方式,這個算是另一個知識點

      其他命令

      # 刪除鏡像
      docker rmi 鏡像ID
      # 刪除容器
      docker rm 容器ID
      
      #查看鏡像
      docker images
      #查看運行容器
      docker ps
      
      #實時查看100行
      docker logs -f your_container | tail -n 100
      #實時查看
      docker logs -f your_container
      
      

      前端

      安裝Nginx 可以自行百度

      路徑:home/eipWeb/nginx

      # 上傳dist 打包文件
      npm run build:stage
      

      一鍵啟動腳本:eipui.sh

      #停止并刪除容器
      docker stop eip_ui
      echo "停止容器成功 !"
      
      #
      docker rm -f eip_ui
      echo "刪除容器成功 !"
      
      # 運行容器,并掛
      docker run -d -p 7069:80 --name eip_ui -v /home/eipWeb/nginx/dist:/usr/share/nginx/html --restart=always registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx
      
      echo "運行啟動容器成功 !"
      

      最后文章有啥不對,歡迎大佬在評論區指點!!!
      如果感覺對你有幫助就點贊推薦或者關注一下吧!!!

      posted @ 2024-09-29 09:29  古渡藍按  閱讀(2027)  評論(3)    收藏  舉報
      主站蜘蛛池模板: 即墨市| 亚洲国产成人无码av在线影院 | 久草国产视频| 92国产精品午夜福利| 秋霞人妻无码中文字幕| 国产一区二区不卡视频在线| 少妇性l交大片| 中文字幕乱码十国产乱码| 广昌县| 国产中文字幕在线一区| 欧美丰满熟妇xxxx性ppx人交| 精品国产迷系列在线观看| 日韩人妻中文字幕精品| 亚洲精品成人网久久久久久| 亚洲国产中文在线有精品| 国产视频精品一区 日本| 婷婷亚洲综合五月天小说| 亚洲天堂男人的天堂在线| 亚洲欧美人成网站在线观看看| 黑巨人与欧美精品一区| 亚洲aⅴ综合av国产八av| 亚洲精品美女久久久久9999| 国产成人精品无码免费看夜聊软件| 精品人妻蜜臀一区二区三区 | 日韩内射美女人妻一区二区三区| 在线a久青草视频在线观看| 国产特色一区二区三区视频| 国产仑乱无码内谢| 无码激情亚洲一区| 国产成人综合久久亚洲精品| 元码人妻精品一区二区三区9| 欧美日韩一线| 乱熟女高潮一区二区在线| 色偷偷www.8888在线观看| 人与禽交av在线播放| 久草网视频在线观看| 国产精品国产三级国产av剧情| 少妇伦子伦精品无吗| 国产一区二区三区麻豆视频| 国产精品中文av专线| 男女高潮喷水在线观看|