docker springboot 運維部署詳細實例

環境安裝

[root@iZbp1dcnzq7pzpg9607m6pZ ~]# docker -v
Docker version 26.1.4, build 5650f9b

鏡像構建

Dockerfile 文件內容

FROM openjdk:8
# Author Info 創建人信息
MAINTAINER ratelcloud@foxmail.com
ENV PORT=20001
EXPOSE 20001
RUN mkdir /usr/local/ratel-boot-server
WORKDIR /usr/local/ratel-boot-server
# Rename Jar File To Container
COPY ratel-boot-server.jar ./ratel-boot-server.jar
# Run Config
ENTRYPOINT [ "java", "-java", "/ratel-boot-server.jar" ]

自己打包的 jar 包

-rw-r--r-- 1 root root      336 Dec 17 11:50 Dockerfile
-rwxrwxrwx 1 root root 65123176 Dec 13 17:59 ratel-boot-server.jar
[root@iZbp1dcnzq7pzpg9607m6pZ ~]# ls
Dockerfile  ratel-boot-server.jar

根據 Dockerfile 構建鏡像

docker build -t ratel-boot-server:v1.0.0 .[root@iZbp1dcnzq7pzpg9607m6pZ ~]# docker build -t ratel-boot-server:v1.0.0 .
[+] Building 0.2s (9/9) FINISHED                                                                               docker:default=> [internal] load build definition from Dockerfile                                                                     0.0s=> => transferring dockerfile: 375B                                                                                     0.0s=> [internal] load metadata for docker.io/library/openjdk:8                                                             0.0s=> [internal] load .dockerignore                                                                                        0.0s=> => transferring context: 2B                                                                                          0.0s=> [1/4] FROM docker.io/library/openjdk:8                                                                               0.0s=> [internal] load build context                                                                                        0.0s=> => transferring context: 45B                                                                                         0.0s=> CACHED [2/4] RUN mkdir /usr/local/ratel-boot-server                                                                  0.0s=> CACHED [3/4] WORKDIR /usr/local/ratel-boot-server                                                                    0.0s=> CACHED [4/4] COPY ratel-boot-server.jar ./ratel-boot-server.jar                                                      0.0s=> exporting to image                                                                                                   0.0s=> => exporting layers                                                                                                  0.0s=> => writing image sha256:eebdebddf3f72373b23a1f291609613eb88b237e07dc8d6fbba810decfc3b14d                             0.0s=> => naming to docker.io/library/ratel-boot-server:v1.0.0                                                              0.0s

鏡像運行

本地換或者開發環境 構建鏡像

rbt1 和 rbt2 容器都起來來

[root@iZbp1dcnzq7pzpg9607m6pZ ~]# docker run --name rbt1 -p 20001:20001 --privileged=true --restart=always -idt ratel-boot-server:v1.0.0
6c9ed23572951d9127416802a6f5c484860ca30aa3f7132f22fb1b4b74c55e42
[root@iZbp1dcnzq7pzpg9607m6pZ ~]# docker run --name rbt2 -p 20002:20001 --privileged=true --restart=always -idt ratel-boot-server:v1.0.0
2a5b430255170b24da51fffc2e9345024de71094abf5d38ba55c3cc753774897
[root@iZbp1dcnzq7pzpg9607m6pZ ~]# docker ps
CONTAINER ID   IMAGE                           COMMAND                  CREATED          STATUS                                  PORTS                                                           NAMES
2a5b43025517   ratel-boot-server:v1.0.0        "java -java /ratel-b…"   5 seconds ago    Restarting (1) Less than a second ago                                                                   rbt2
6c9ed2357295   ratel-boot-server:v1.0.0        "java -java /ratel-b…"   15 seconds ago   Restarting (1) 1 second ago                                                                             rbt1
71235a26e5c6   ubuntu:18.04                    "/bin/bash"              10 minutes ago   Up 9 minutes                                                                                            verdant_hirquiticke
23d594db7e77   ubuntu:18.04                    "/bin/bash"              55 minutes ago   Up 44 minutes                                                                                           verdant_grommet
ba4ca0dcfcc8   ubuntu:18.04                    "/bin/bash"              7 hours ago      Up 7 hours                                                                                              zealous_quire
22afff419daf   ubuntu:18.04                    "/bin/bash"              8 hours ago      Up 8 hours                                                                                              baleful_obelus
8d6f4a67a2f5   portainer/portainer-ce:latest   "/portainer"             25 hours ago     Up 8 hours                              8000/tcp, 9443/tcp, 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp   portainer
[root@iZbp1dcnzq7pzpg9607m6pZ ~]#

鏡像模板提交

提交鏡像模板

[root@iZbp1dcnzq7pzpg9607m6pZ ~]# docker commit rbt1 template/ratel-boot-server:v1.0.0
sha256:a0e438bda894e99e79840b867f3677add07162b1e89ca8d7ec6a1fc1efca7674
[root@iZbp1dcnzq7pzpg9607m6pZ ~]# docker images
REPOSITORY                   TAG       IMAGE ID       CREATED         SIZE
template/ratel-boot-server   v1.0.0    a0e438bda894   6 seconds ago   591MB
ratel-boot-server            v1.0.0    eebdebddf3f7   7 hours ago     591MB
openjdk                      8         e24ac15e052e   2 years ago     526MB
portainer/portainer-ce       latest    0df02179156a   3 years ago     273MB
alpine                       latest    c059bfaa849c   3 years ago     5.58MB
ubuntu                       18.04     5a214d77f5d7   3 years ago     63.1MB
[root@iZbp1dcnzq7pzpg9607m6pZ ~]#

生成測試環境和生產環境鏡像

[root@iZbp1dcnzq7pzpg9607m6pZ ~]# docker tag ratel-boot-server:v1.0.0 testhabor/testapp:v1.0.0
[root@iZbp1dcnzq7pzpg9607m6pZ ~]# docker tag ratel-boot-server:v1.0.0 prodhabor/prodapp:v1.0.0

ratel-boot-server v1.0.0 自己構建的

template/ratel-boot-server v1.0.0 提交的模板

testhabor/testapp v1.0.0 測試環境

prodhabor/prodapp v1.0.0 生產環境

[root@iZbp1dcnzq7pzpg9607m6pZ ~]# docker images
REPOSITORY                   TAG       IMAGE ID       CREATED         SIZE
template/ratel-boot-server   v1.0.0    a0e438bda894   4 minutes ago   591MB
ratel-boot-server            v1.0.0    eebdebddf3f7   7 hours ago     591MB
prodhabor/prodapp            v1.0.0    eebdebddf3f7   7 hours ago     591MB
testhabor/testapp            v1.0.0    eebdebddf3f7   7 hours ago     591MB
openjdk                      8         e24ac15e052e   2 years ago     526MB
portainer/portainer-ce       latest    0df02179156a   3 years ago     273MB
alpine                       latest    c059bfaa849c   3 years ago     5.58MB
ubuntu                       18.04     5a214d77f5d7   3 years ago     63.1MB

鏡像模板 tag_ 推送測試環境 habor

:::color1
docker login 測試環境 habor

docker push testhaborr/ratel-boot-server:v1.0.0

:::

鏡像模板 tag_ 推送生產環境 habor

鏡像導出

:::color1
docker save -o ratelserver.tar ratel-boot-server:v1.0.0

:::

ratelserver.tar

REPOSITORY                   TAG       IMAGE ID       CREATED         SIZE
template/ratel-boot-server   v1.0.0    a0e438bda894   9 minutes ago   591MB
ratel-boot-server            v1.0.0    eebdebddf3f7   7 hours ago     591MB
prodhabor/prodapp            v1.0.0    eebdebddf3f7   7 hours ago     591MB
testhabor/testapp            v1.0.0    eebdebddf3f7   7 hours ago     591MB
openjdk                      8         e24ac15e052e   2 years ago     526MB
portainer/portainer-ce       latest    0df02179156a   3 years ago     273MB
alpine                       latest    c059bfaa849c   3 years ago     5.58MB
ubuntu                       18.04     5a214d77f5d7   3 years ago     63.1MB
[root@iZbp1dcnzq7pzpg9607m6pZ ~]# ls
Dockerfile  ratel-boot-server.jar  ratelserver.tar  sa_recovery.log
[root@iZbp1dcnzq7pzpg9607m6pZ ~]#

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/63775.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/63775.shtml
英文地址,請注明出處:http://en.pswp.cn/web/63775.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

貪心算法在背包問題上的運用(Python)

背包問題 有n個物品,它們有各自的體積和價值,現有給定容量的背包,如何讓背包里裝入的物品具有最大的價值總和? 這就是典型的背包問題(又稱為0-1背包問題),也是具體的、沒有經過任何延伸的背包問題模型。 背包問題的傳統求解方法較為復雜,現定義有一個可以載重為8kg的背…

【ArcGIS Pro微課1000例】0063:處理無人機數據(空三、生成DOM、DSM、DTM)

使用ArcGIS Pro 正射拼接處理無人機數據流程化工具,不需要額外產品許可的支持,只需要桌面是高級版許可即可支持。ArcGIS Pro處理無人機攝影測量數據主要內容有:空三、生成DOM、DSM、DTM。 文章目錄 一、創建映射項目二、提交自由空三三、添加控制點優化四、提交產品生產一、…

解鎖 Jenkins 搭建全攻略

一、Jenkins 簡介 (一)簡述 Jenkins 的作用與價值 Jenkins 是一款在軟件開發領域備受矚目的開源軟件項目,它基于 Java 開發,是極為重要的持續集成工具。在軟件開發的整個流程中,Jenkins 發揮著關鍵作用,能…

人工智能ACA(四)--機器學習基礎

零、參考資料 一篇文章完全搞懂正則化(Regularization)-CSDN博客 一、 機器學習概述 0. 機器學習的層次結構 學習范式(最高層) 怎么學 監督學習 無監督學習 半監督學習 強化學習 學習任務(中間層&#xff0…

豆包MarsCode:小U的數字插入問題

問題描述 問題分析 問題的核心是找到將數字 b 插入到數字 a 的某個位置后,使形成的數字盡可能大。需要仔細分析以下幾個要點: 1. 分析數字的特性 輸入的兩個數字: a 是一個正整數(例如 76543)。b 是一個非負整數&am…

雅思真題短語梳理(八)

126員工流動率高 high staff turnover 127(多)負擔一些工作任務 cover some duties / an increased workload 128不滿 feel upset and resentful 129偏向性待遇 preferential treatment 130介入幫忙 step in and help 131切實的好處 tangible benefits 132挽留 staff retention…

【Cadence射頻仿真學習筆記】IC設計中電感的分析、建模與繪制(EMX電磁仿真,RFIC-GPT生成無源器件及與cadence的交互)

一、理論講解 1. 電感設計的兩個角度 電感的設計可以從兩個角度考慮,一個是外部特性,一個是內部特性。外部特性就是把電感視為一個黑盒子,帶有兩個端子,如果帶有抽頭的電感就有三個端子,需要去考慮其電感值、Q值和自…

基礎元器件的學習

1、二極管 1.1二極管的符號 ZD是穩壓二極管 VD、V、D是普通二極管的符號。 1.2二極管的反向恢復時間 首先交流電為上正下負,然后下正上負。當二極管接到反向電壓,二極管存在寄生電容,電壓不能立刻突變,當輸入頻率變高時&#…

EdgeX物聯網平臺

一、概述 EdgeX Foundry是一個由Linux基金會支持的邊緣計算開源平臺。它的定位是作為通用工業物聯網邊緣計算通用框架,部署在路由器和交換機等邊緣設備上。EdgeX Foundry為各種傳感器、設備或其他物聯網器件提供即插即用功能,并管理它們,進一步收集和分析它們的數據,或者導…

基于小樣本學習的自然場景圖像中茶葉病害識別技術綜述

基于小樣本學習的自然場景圖像中茶葉病害識別技術綜述 引言 茶葉作為全球廣泛消費的飲品之一,其產量和品質直接關系到茶農的經濟收益。然而,茶樹在生長過程中容易受到多種病害的侵染,這些病害不僅影響茶葉的產量和品質,還給茶農…

Linux之幫助命令

一、man幫助命令 語法: man 你要查找的命令例如:man ls 即可得到你要的命令說明,按q退出 二、內置命令和外部命令 一部分基礎功能的系統命令是直接內嵌在shel中的,系統加載啟動之后會隨著shll一起加載,常駐系統內存中…

MONI后臺管理系統-swagger3(springdoc-openapi)集成

springdoc-openapi Java 庫有助于使用 Spring Boot 項目自動生成 API 文檔。springdoc-openapi 通過在運行時檢查應用程序來根據 Spring 配置、類結構和各種注釋推斷 API 語義。 該庫會自動生成 JSON/YAML 和 HTML 格式的頁面文檔。生成的文檔可以使用swagger-api注釋進行補充。…

GFPS擴展技術原理(七)-音頻切換消息流

音頻切換消息流 Seeker和Provider通過消息流來同步音頻切換能力,觸發連接做切換,獲取或設置音頻切換偏好,通知連接狀態等等。為此專門定義了音頻切換消息流Message Group 為0x07,Message codes如下: MAC of Audio s…

LiteFlow決策系統的策略模式,順序、最壞、投票、權重

個人博客:無奈何楊(wnhyang) 個人語雀:wnhyang 共享語雀:在線知識共享 Github:wnhyang - Overview 想必大家都有聽過或做過職業和性格測試吧,尤其是現在的畢業生,在投了簡歷之后經…

【計算機視覺基礎CV-圖像分類】02-入門詳解圖像分類、經典數據集、比賽與冠軍圖像模型演進史

前言 圖像分類(Image Classification)是計算機視覺(Computer Vision)中一項基礎且核心的任務。簡單來說,就是讓計算機從給定的類別集合中,為一張輸入圖片分配一個正確的類別標簽。這個過程聽起來直觀&…

三子棋游戲(基礎版)

我們用 C 語言代碼實現了一個簡單的控制臺版三子棋游戲&#xff0c;代碼分為三個部分&#xff0c;分別是頭文件game.h中定義的函數聲明以及兩個源文件game.c和test.c、game.c文件。 1.頭文件&#xff08;game.h&#xff09;部分 首先包含了<stdio.h>&#xff08;用于標…

使用Chat-LangChain模塊創建一個與用戶交流的機器人

當然&#xff01;要使用Chat-LangChain模塊創建一個與用戶交流的機器人&#xff0c;你需要安裝并配置一些Python庫。以下是一個基本的步驟指南和示例代碼&#xff0c;幫助你快速上手。 安裝依賴庫 首先&#xff0c;你需要安裝langchain庫&#xff0c;它是一個高級框架&#x…

嵌入式驅動開發詳解20(IIO驅動架構)

文章目錄 前言IIO子系統簡介主要結構體主要API函數 IIO子系統實現SPI框架IIO框架IIO通道詳解通道結構體分析通道命名分析icm20608設備通道實現 讀取函數寫入函數 測試測試效果命令行讀取應用程序讀取 后續參考文獻 前言 IIO 全稱是 Industrial I/O&#xff0c;翻譯過來就是工業…

Linux 網絡維護相關命令簡介

目錄 零. 概要一. ping二. ip命令2.1 ip address2.2 ip route2.3 ip neighbour 三. traceroute四. DNS查詢4.1 nslookup4.2 dig 五. ss 查看網絡連接狀態 零. 概要 ?在Linux系統中有2套用于網絡管理的工具集 net-tools 早期網絡管理的主要工具集&#xff0c;缺乏對 IPv6、網…

Jenkins持續集成部署——jenkins安裝

前言 Jenkins 是一個開源的自動化服務器&#xff0c;主要用于持續集成&#xff08;CI&#xff09;和持續交付&#xff08;CD&#xff09;。它為軟件開發團隊提供了一個易于使用的平臺來自動化構建、測試和部署應用程序的過程。 Jenkins 主要功能 1. 持續集成 (CI) 自動構建…