日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

SpringBoot+Docker實(shí)現(xiàn)一次構(gòu)建到處運(yùn)行~

jf_ro2CN3Fa ? 來源:CSDN ? 2023-08-30 17:21 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群


一、容器化部署的好處

Docker 作為一種新興的虛擬化方式,它可以更高效的利用系統(tǒng)資源,不需要進(jìn)行硬件虛擬以及運(yùn)行完整操作系統(tǒng)等額外開銷。

傳統(tǒng)的虛擬機(jī)技術(shù)啟動應(yīng)用服務(wù)往往需要數(shù)分鐘,而 Docker 容器應(yīng)用,由于直接運(yùn)行宿主內(nèi)核,無需啟動完整的操作系統(tǒng),因此可以做到秒級、甚至毫秒級的啟動時間。大大的節(jié)約了開發(fā)、測試、部署的時間。

最重要的是一致的運(yùn)行環(huán)境。Docker 的鏡像提供了除內(nèi)核外完整的運(yùn)行時環(huán)境,確保了應(yīng)用運(yùn)行環(huán)境一致性。從而達(dá)到真正意義上的 一次構(gòu)建,到處執(zhí)行。

基于 Spring Boot + MyBatis Plus + Vue & Element 實(shí)現(xiàn)的后臺管理系統(tǒng) + 用戶小程序,支持 RBAC 動態(tài)權(quán)限、多租戶、數(shù)據(jù)權(quán)限、工作流、三方登錄、支付、短信、商城等功能

  • 項(xiàng)目地址:https://github.com/YunaiV/ruoyi-vue-pro
  • 視頻教程:https://doc.iocoder.cn/video/

二、構(gòu)建鏡像

2.1、Dockerfile

接著我們開始使用 Dockerfile 來定制我們的鏡像,從而達(dá)到容器化的目的。Dockerfile 的本質(zhì)就是將一系列修改、安裝、構(gòu)建、操作的命令整合到一起,去構(gòu)建一個個性化的鏡像,以達(dá)到一次構(gòu)建,到處運(yùn)行。 接下來我們就來構(gòu)建自定義鏡像。

在my-project-server模塊下創(chuàng)建docker目錄,在docker目錄下創(chuàng)建Dockerfile。代碼如下:

FROMopenjdk:8-jre

MAINTAINERMicromaple@qq.com>

RUNmkdir/app

COPYmy-project-server-1.0.0-SNAPSHOT.jar/app/app.jar

ENTRYPOINT["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app/app.jar","--spring.profiles.active=prod,druid-prod"]

EXPOSE8899
  • FROM:指定基礎(chǔ)鏡像,項(xiàng)目是使用jdk8開發(fā)的項(xiàng)目,所以我們指定的基礎(chǔ)鏡像為openjdk:8-jre
  • MAINTAINER:項(xiàng)目維護(hù)人員
  • RUN:執(zhí)行命令,在根目錄下創(chuàng)建app目錄
  • COPY:將宿主機(jī)當(dāng)前目錄下的my-project-server-1.0.0-SNAPSHOT.jar文件拷貝到app目錄下,并重命名為app.jar
  • ENTRYPOINT:指定容器啟動程序及參數(shù)
  • EXPOSE:指定運(yùn)行時容器提供服務(wù)的端口

2.2、開始構(gòu)建

在虛擬機(jī)創(chuàng)建目錄

mkdir-p/usr/local/docker/my-project/docker

將打包后的my-project-server-1.0.0-SNAPSHOT.jar文件和Dockerfile文件上傳至該目錄。

99a574ca-46dc-11ee-a2ef-92fbcf53809c.png

執(zhí)行鏡像構(gòu)建命令

dockerbuild-tmy-project-server:v1.

構(gòu)建成功

$dockerimages
REPOSITORYTAGIMAGEIDCREATEDSIZE
my-project-serverv1ed30386b06d211secondsago334MB
openjdk8-jre26ac3f63d29f9monthsago273MB

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 實(shí)現(xiàn)的后臺管理系統(tǒng) + 用戶小程序,支持 RBAC 動態(tài)權(quán)限、多租戶、數(shù)據(jù)權(quán)限、工作流、三方登錄、支付、短信、商城等功能

  • 項(xiàng)目地址:https://github.com/YunaiV/yudao-cloud
  • 視頻教程:https://doc.iocoder.cn/video/

三、搭建私服

3.1、搭建 Docker Registry

創(chuàng)建目錄

mkdir-p/usr/local/docker/registry

在該目錄下創(chuàng)建Docker Registry 的 docker-compose.yml。內(nèi)容如下:

cd/usr/local/docker/registry
version:'3.1'
services:
registry:
image:registry
restart:always
container_name:registry
ports:
-5000:5000
volumes:
-./data:/var/lib/registry

啟動容器

docker-composeup-d

3.2、搭建 Docker Registry WebUI

創(chuàng)建目錄

mkdir-p/usr/local/docker/docker-registry-frontend

在該目錄下創(chuàng)建Docker Registry 的 docker-compose.yml。內(nèi)容如下:

cd/usr/local/docker/docker-registry-frontend
version:'3.1'
services:
frontend:
image:konradkleine/docker-registry-frontend:v2
ports:
-8080:80
volumes:
-./certs/frontend.crt:/etc/apache2/server.crt:ro
-./certs/frontend.key:/etc/apache2/server.key:ro
environment:
-ENV_DOCKER_REGISTRY_HOST=192.168.110.158(Docker倉庫的IP)
-ENV_DOCKER_REGISTRY_PORT=5000

需要將ENV_DOCKER_REGISTRY_HOST的值更改為自己搭建的 DockerRegistry 服務(wù)的IP

啟動容器

docker-composeup-d

瀏覽器訪問http://192.168.110.158:8080/,效果如下:

99b7b73e-46dc-11ee-a2ef-92fbcf53809c.png

3.3、客戶端配置

在需要上傳 Docker 鏡像的客戶端需配置daemon.json,完整路徑在 /etc/docker/daemon.json

vi/etc/docker/daemon.json

需增加如下內(nèi)容:

"insecure-registries":[
"Docker倉庫的IP:5000"
]

完整daemon.json內(nèi)容:

{
"registry-mirrors":[
"https://xxx.mirror.aliyuncs.com"
],
"insecure-registries":[
"192.168.110.158:5000"
]
}
  • registry-mirrors:為鏡像加速地址,這里為我自己申請的加速地址。大家可以自己申請一個,也可以在網(wǎng)上找一個。
  • insecure-registries:Docker倉庫的IP。

重新啟動服務(wù)

systemctldaemon-reload
systemctlrestartdocker

3.4、上傳私服

搭建以及配置完成后,需要將我們之前構(gòu)建的鏡像上傳至我們自己的Docker倉庫。

查看鏡像

$dockerimages
REPOSITORYTAGIMAGEIDCREATEDSIZE
my-project-serverv16af7d633afb75secondsago334MB
openjdk8-jre26ac3f63d29f9monthsago273MB
1)、鏡像標(biāo)記

使用 docker tag 將 my-project-server:v1 這個鏡像標(biāo)記為 192.168.110.158:5000/my-project-server:v1。

192.168.110.158為我的Docker倉庫的IP。

格式為:docker tag IMAGE[:TAG] [REGISTRY_HOST[:REGISTRY_PORT]/]REPOSITORY[:TAG]

命令如下:

dockertagmy-project-server:v1192.168.110.158:5000/my-project-server:v1

標(biāo)記后,查看鏡像

$dockerimages
REPOSITORYTAGIMAGEIDCREATEDSIZE
192.168.110.158:5000/my-project-serverv16af7d633afb73minutesago334MB
my-project-serverv16af7d633afb73minutesago334MB
openjdk8-jre26ac3f63d29f9monthsago273MB
2)、鏡像上傳

使用 docker push 上傳鏡像。

$dockerpush192.168.110.158:5000/my-project-server
Thepushreferstorepository[192.168.110.158:5000/my-project-server]
5b9e874b9f9c:Pushed
e87c042d22f8:Pushed
b4cfcb8385a8:Pushed
2b730cf18c09:Pushed
edeaba958753:Pushed
8bf42db0de72:Pushed
31892cc314cb:Pushed
11936051f93b:Pushed
v1:digest:sha256:5c8a0efff409649a389d0bc74dda94ca96e67e87c92673b4c7dad0078657af40size:2000
3)、查看鏡像

使用 curl 查看 192.168.110.158:5000/v2/_catalog 地址,可以看到上傳成功的鏡像

$curl192.168.110.158:5000/v2/_catalog
{"repositories":["my-project-server"]}

這里我們可以成功的看到我們上傳的鏡像。

我們也可以在我們剛剛搭建的WebUI上可視化的查看我們的鏡像。效果圖如下:

99d09092-46dc-11ee-a2ef-92fbcf53809c.png
4)、驗(yàn)證

此時我們將本地鏡像刪除,嘗試從私有倉庫下載這個鏡像

先刪除已有鏡像

dockerrmimy-project-server:v1192.168.110.158:5000/my-project-server:v1

下載鏡像

dockerpull192.168.110.158:5000/my-project-server:v1
$dockerpull192.168.110.158:5000/my-project-server:v1
v1:Pullingfrommy-project-server
0e29546d541c:Alreadyexists
9b829c73b52b:Alreadyexists
cb5b7ae36172:Alreadyexists
99ce012bef04:Alreadyexists
22dc2a72d098:Alreadyexists
9c69a57e10d9:Alreadyexists
776f54050ab5:Pullcomplete
65a83a9a7871:Pullcomplete
Digest:sha256:5c8a0efff409649a389d0bc74dda94ca96e67e87c92673b4c7dad0078657af40
Status:Downloadednewerimagefor192.168.110.158:5000/my-project-server:v1
192.168.110.158:5000/my-project-server:v1
$dockerimages
REPOSITORYTAGIMAGEIDCREATEDSIZE
192.168.110.158:5000/my-project-serverv16af7d633afb715minutesago334MB
openjdk8-jre26ac3f63d29f9monthsago273MB

我們可以看到可以正常拉取。

四、容器啟動

鏡像構(gòu)建并上傳至完成后,可以直接使用Docker Compose來啟動容器。實(shí)現(xiàn)一次構(gòu)建到處運(yùn)行。

創(chuàng)建目錄

mkdir-p/usr/local/docker/my-project

在該目錄下創(chuàng)建Docker Registry 的 docker-compose.yml。內(nèi)容如下:

cd/usr/local/docker/my-project
version:'3.1'
services:
my_project_server:
image:192.168.110.158:5000/my-project-server:v1
container_name:my-project-server
restart:always
ports:
-8899:8899
volumes:
-./logs:/logs
environment:
TZ:Asia/Shanghai

啟動容器

docker-composeup-d

查看容器啟動狀態(tài)

dockerps-a

訪問查詢所有用戶接口

  • http://ip:8899/sys-user/get/all
99e7d158-46dc-11ee-a2ef-92fbcf53809c.png


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 容器
    +關(guān)注

    關(guān)注

    0

    文章

    536

    瀏覽量

    23030
  • spring
    +關(guān)注

    關(guān)注

    0

    文章

    341

    瀏覽量

    16060
  • 虛擬機(jī)
    +關(guān)注

    關(guān)注

    1

    文章

    975

    瀏覽量

    30714
  • SpringBoot
    +關(guān)注

    關(guān)注

    0

    文章

    178

    瀏覽量

    718

原文標(biāo)題:SpringBoot + Docker 實(shí)現(xiàn)一次構(gòu)建到處運(yùn)行~

文章出處:【微信號:芋道源碼,微信公眾號:芋道源碼】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    一次調(diào)頻如何影響我們的日常生活?

    守護(hù)者”——一次調(diào)頻。很多人沒聽過它的名字,但它每時每刻都在默默工作,用毫秒級的響應(yīng)守護(hù)著我們的日常生活。今天就用大白話聊聊,一次調(diào)頻到底怎么影響我們的日常用電。
    的頭像 發(fā)表于 04-07 14:58 ?603次閱讀
    <b class='flag-5'>一次</b>調(diào)頻如何影響我們的日常生活?

    一次調(diào)頻vs二調(diào)頻,電力調(diào)節(jié)的“兄弟組合”有何不同?

    在電力系統(tǒng)的頻率穩(wěn)定保障體系中,一次調(diào)頻與二調(diào)頻就像對默契配合的“兄弟組合”:個沖鋒在前、極速響應(yīng),個沉穩(wěn)跟進(jìn)、精準(zhǔn)收官,共同守護(hù)電
    的頭像 發(fā)表于 03-30 15:21 ?832次閱讀
    <b class='flag-5'>一次</b>調(diào)頻vs二<b class='flag-5'>次</b>調(diào)頻,電力調(diào)節(jié)的“兄弟組合”有何不同?

    如何判斷一次消諧器是否工作正常?

    判斷一次消諧器是否正常,其實(shí)就看它有沒有“扛住”系統(tǒng)電壓、及時“泄放”諧振能量,同時自己保持“健康”狀態(tài)。核心方法是?外觀檢查、電氣參數(shù)測試和運(yùn)行狀態(tài)觀察?三管齊下。
    的頭像 發(fā)表于 01-22 10:27 ?375次閱讀
    如何判斷<b class='flag-5'>一次</b>消諧器是否工作正常?

    新思科技分享實(shí)現(xiàn)AI芯片一次流片成功的十大策略

    帶來錯失融資機(jī)會、產(chǎn)品上市延期以及由此導(dǎo)致的市場份額流失等嚴(yán)重后果。 隨著越來越多的芯片公司和初創(chuàng)企業(yè)投入到 AI 芯片開發(fā)中,一次流片成功已經(jīng)成為技術(shù)、財(cái)務(wù)和商業(yè)層面的剛性要求。 以下是開發(fā) AI 芯片時實(shí)現(xiàn)一次流片成功的十條
    的頭像 發(fā)表于 01-19 11:08 ?912次閱讀

    光伏一次調(diào)頻設(shè)備/一次調(diào)頻裝置|光伏一次調(diào)頻涉網(wǎng)試驗(yàn)/光伏電站一次調(diào)頻建設(shè)改造方案

    2025年以來能源局下發(fā)通知要求10KV以上的新能源廠站要具備一次調(diào)頻能力,并遞交涉網(wǎng)試驗(yàn)報(bào)告。對于投資規(guī)模不大的工商業(yè)分布式光伏電站,又要面臨改造投資問題,壓力較大。如何選擇質(zhì)優(yōu)價廉的一次調(diào)頻產(chǎn)品
    的頭像 發(fā)表于 01-17 08:54 ?1654次閱讀
    光伏<b class='flag-5'>一次</b>調(diào)頻設(shè)備/<b class='flag-5'>一次</b>調(diào)頻裝置|光伏<b class='flag-5'>一次</b>調(diào)頻涉網(wǎng)試驗(yàn)/光伏電站<b class='flag-5'>一次</b>調(diào)頻建設(shè)改造方案

    光伏一次調(diào)頻設(shè)備,光伏電站一次調(diào)頻建設(shè)改造方案

    的輸出。這里的發(fā)電機(jī)組在火力水力發(fā)電系統(tǒng)中是指同步發(fā)電機(jī)。在光伏發(fā)電中是指逆變器,在儲能和風(fēng)力發(fā)電系統(tǒng)中是指PCS變流設(shè)備。 二:一次調(diào)頻裝置 這是臺在光伏電站中正在運(yùn)行
    發(fā)表于 01-16 20:06

    電網(wǎng)頻率為何不能亂?一次調(diào)頻裝置的“維穩(wěn)”邏輯

    家電故障,大到電網(wǎng)崩潰,都會給生產(chǎn)生活帶來致命影響。而一次調(diào)頻裝置,正是守護(hù)這條“標(biāo)準(zhǔn)線”的核心力量,用毫秒級響應(yīng)筑牢電網(wǎng)頻率的“維穩(wěn)”防線,詳細(xì)了解一次調(diào)頻裝置可咨詢:1.3.7-5.0.0.4-6.2.0.0。今天就來拆解:電網(wǎng)頻率為何不能亂?
    的頭像 發(fā)表于 01-14 11:41 ?427次閱讀
    電網(wǎng)頻率為何不能亂?<b class='flag-5'>一次</b>調(diào)頻裝置的“維穩(wěn)”邏輯

    一次消諧器對電力系統(tǒng)的核心貢獻(xiàn)

    一次消諧器(又稱 PT 一次消諧裝置)是安裝在電壓互感器一次側(cè)中性點(diǎn)與地之間的非線性電阻設(shè)備,主要應(yīng)用于3-66kV 中性點(diǎn)不接地或經(jīng)消弧線圈接地的中壓配電網(wǎng),對保障電力系統(tǒng)安全穩(wěn)定運(yùn)行
    的頭像 發(fā)表于 01-07 06:40 ?633次閱讀
    <b class='flag-5'>一次</b>消諧器對電力系統(tǒng)的核心貢獻(xiàn)

    解析一次消諧和二消諧的差異與應(yīng)用場景

    在電力系統(tǒng)中,消諧裝置是保障系統(tǒng)穩(wěn)定運(yùn)行的關(guān)鍵設(shè)備,它可以有效消除諧振過電壓,避免因諧振引發(fā)的設(shè)備損壞和停電事故。一次消諧器和微機(jī)消諧裝置,都可以用于PT柜,保護(hù)電壓互感器。 一次消諧器和微機(jī)消諧
    的頭像 發(fā)表于 12-11 11:33 ?681次閱讀

    如何使用SpringBoot、Vue2.0、MySQL開發(fā)套云診所系統(tǒng)?

    ? 如何使用Java語言;前端框架:Vue2.0;后端框架:SpringBoot;數(shù) 據(jù) 庫: MySQL 這些技術(shù)開發(fā)套云診所系統(tǒng)? 技術(shù)棧分析: 后端:SpringBoot
    的頭像 發(fā)表于 11-27 16:02 ?416次閱讀
    如何使用<b class='flag-5'>SpringBoot</b>、Vue2.0、MySQL開發(fā)<b class='flag-5'>一</b>套云診所系統(tǒng)?

    深入剖析Docker全鏈路安全防護(hù)策略

    在云原生時代,Docker容器安全已成為運(yùn)維工程師必須面對的核心挑戰(zhàn)。本文將從實(shí)戰(zhàn)角度深入剖析Docker全鏈路安全防護(hù)策略,涵蓋鏡像構(gòu)建、容器運(yùn)行、網(wǎng)絡(luò)隔離等關(guān)鍵環(huán)節(jié),助你
    的頭像 發(fā)表于 08-18 11:17 ?1299次閱讀

    智能客服驅(qū)動效率和體驗(yàn)升級,上海電信+昇騰AI的一次民生應(yīng)用實(shí)踐

    上海電信+昇騰AI的一次民生應(yīng)用實(shí)踐
    的頭像 發(fā)表于 07-30 23:44 ?3097次閱讀
    智能客服驅(qū)動效率和體驗(yàn)升級,上海電信+昇騰AI的<b class='flag-5'>一次</b>民生應(yīng)用實(shí)踐

    從不同的角度來探討一次消諧裝置存在的價值!

    、從原理角度看 一次消諧裝置的主要作用是消除電壓互感器(PT)的鐵磁諧振。當(dāng)電力系統(tǒng)中出現(xiàn)鐵磁諧振時,會產(chǎn)生過電壓和過電流,對設(shè)備和系統(tǒng)的安全運(yùn)行構(gòu)成威脅。一次消諧裝置通過在電壓互感
    的頭像 發(fā)表于 07-24 09:40 ?727次閱讀

    參考STM32 MPU生態(tài)資源利用Yocto構(gòu)建STM32MP2芯片鏡像運(yùn)行docker

    的搭建。 拉取Yocto所需的配置數(shù)據(jù)庫 接下來根據(jù)OpenSTLinux distribution 指南中的介紹,下載STM32MPU的Yocto開發(fā)所需的meta數(shù)據(jù)庫(其中包含構(gòu)建系列配置
    發(fā)表于 05-10 16:47

    一次消諧裝置與二消諧裝置區(qū)別、一次消諧器與二消諧器的區(qū)別

    ~35kV中性點(diǎn)不接地系統(tǒng);二消諧器適用于復(fù)雜諧振工況,可區(qū)分諧振類型并智能動作。 兩者常配合使用,一次消諧提供基礎(chǔ)防護(hù),二消諧實(shí)現(xiàn)精準(zhǔn)抑制,共同保障系統(tǒng)安全。
    的頭像 發(fā)表于 05-07 09:58 ?4959次閱讀
    <b class='flag-5'>一次</b>消諧裝置與二<b class='flag-5'>次</b>消諧裝置區(qū)別、<b class='flag-5'>一次</b>消諧器與二<b class='flag-5'>次</b>消諧器的區(qū)別
    共和县| 清苑县| 时尚| 岳池县| 白河县| 商城县| 万荣县| 剑河县| 成武县| 札达县| 宜阳县| 和林格尔县| 沙河市| 勃利县| 名山县| 买车| 克什克腾旗| 平原县| 于都县| 内乡县| 响水县| 同江市| 黄大仙区| 镇坪县| 东莞市| 兴和县| 蕲春县| 云林县| 霍山县| 鄯善县| 阳曲县| 淅川县| 洛宁县| 大邑县| 卓资县| 和硕县| 牟定县| 常山县| 绥阳县| 竹溪县| 如东县|