电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

SpringBoot+Docker+IDEA 實(shí)現(xiàn)一鍵構(gòu)建+推送、運(yùn)行、同鏡像多容器啟動(dòng)(推薦)

瀏覽:117日期:2023-03-15 15:34:09
場(chǎng)景:

由于公司項(xiàng)目需要,需要使用部署微服務(wù)項(xiàng)目,而之前都是使用tomcat部署,操作十分繁瑣。最近正好在學(xué)習(xí)Docker,利用Docker容器做部署嘗試

需求: 使用Docker部署服務(wù) 支持idea插件,一鍵操作構(gòu)建、推送鏡像、運(yùn)行 單個(gè)鏡像需根據(jù)不同端口部署多個(gè)容器 日志持久化必要軟件

服務(wù)器(我的版本為CentOS:7.9)

Docker(需要開(kāi)通遠(yuǎn)程訪問(wèn),正式環(huán)境請(qǐng)使用證書加密,我這里測(cè)試用無(wú)加密) Harbor 鏡像倉(cāng)庫(kù)(可選)

開(kāi)發(fā)端

Docker Desktop (支持本地運(yùn)行docker-compose,如果不用docker-compose插件可以不用)下載地址 桌面版docker必要插件下載地址 docker-comopse 下載地址 IDEA(廢話) docker插件 (可選,在idea插件市場(chǎng)下載,名字就叫Docker)

在idea中配置docker

SpringBoot+Docker+IDEA 實(shí)現(xiàn)一鍵構(gòu)建+推送、運(yùn)行、同鏡像多容器啟動(dòng)(推薦)

目錄結(jié)構(gòu):

SpringBoot+Docker+IDEA 實(shí)現(xiàn)一鍵構(gòu)建+推送、運(yùn)行、同鏡像多容器啟動(dòng)(推薦)

父項(xiàng)目配置(關(guān)鍵配置):

pom.xml

<properties> <!-- docker主機(jī)ip(這里填寫自己docker所在地址) --> <docker.host>192.168.10.10</docker.host> <!-- harbor倉(cāng)庫(kù)地址(可選,構(gòu)建鏡像后自動(dòng)上傳到該倉(cāng)庫(kù)) --> <docker.repostory>${docker.host}</docker.repostory> <!-- docker遠(yuǎn)程地址, 如果是https協(xié)議則將http換成https即可 --> <docker.remote>http://${docker.host}:2375</docker.remote> <!--項(xiàng)目名,需要和Harbor中的項(xiàng)目名稱保持一致 --> <docker.registry.name>library</docker.registry.name> <!-- 默認(rèn)端口 --> <port>8080</port></properties>... <build> <pluginManagement><plugins> <!--構(gòu)建鏡像--> <plugin><groupId>com.spotify</groupId><artifactId>docker-maven-plugin</artifactId><version>1.2.0</version><configuration> <!--Maven 的配置文件 setting.xml 中增加相關(guān) server 配置,主要配置 Docker registry用戶認(rèn)--> <serverId>docker-harbor</serverId> <dockerHost>${docker.remote}</dockerHost> <!-- 鏡像名格式: 倉(cāng)庫(kù)地址/倉(cāng)庫(kù)項(xiàng)目名/當(dāng)前項(xiàng)目名 (按需修改) --> <imageName>${docker.repostory}/${docker.registry.name}/${project.artifactId}</imageName> <baseImage>openjdk:8u282-jdk</baseImage> <maintainer>作者</maintainer> <env><PORT>8080</PORT><TZ>Asia/Shanghai</TZ> </env> <!-- 這里的ln和后面的操作是保證時(shí)間同步 --> <runs>mkdir -p /epark/logs &amp;&amp; ln -sf /usr/share/zoneinfo/$TZ /etc/localtime &amp;&amp; echo $TZ > /etc/timezone</runs> <volumes>/epark</volumes> <!--suppress UnresolvedMavenProperty --> <entryPoint>['java','-Djava.security.egd=file:/dev/./urandom','-jar','${project.build.finalName}.jar','--server.port=${PORT}'] </entryPoint><!-- 這里是倉(cāng)庫(kù)地址,不需要可以刪除 --> <registryUrl>http://${docker.repostory}</registryUrl> <!-- 這里指定是否構(gòu)建成功后自動(dòng)推送到倉(cāng)庫(kù),不需要可以刪除 --> <pushImage>true</pushImage> <resources><resource> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include></resource> </resources></configuration> </plugin> <!-- docker-compose的maven插件 --> <plugin><groupId>com.dkanejs.maven.plugins</groupId><artifactId>docker-compose-maven-plugin</artifactId><version>2.5.1</version><configuration><!-- 路徑為: 當(dāng)前項(xiàng)目的上一級(jí)(也就是父項(xiàng)目),所以不支持二級(jí)以上的子項(xiàng)目 --> <composeFile>${project.basedir}/../docker-compose.yml</composeFile> <apiVersion>1.22</apiVersion> <host>${docker.remote}</host> <envVars><!-- 默認(rèn)端口 --><port>${port}</port><host>${docker.repostory}</host><name>${project.build.finalName}</name><!-- 自定義項(xiàng)目名,支持單鏡像啟動(dòng)多容器的關(guān)鍵 --><COMPOSE_PROJECT_NAME>${project.build.finalName}-${port}</COMPOSE_PROJECT_NAME><!-- 這里是證書配置,如果開(kāi)啟了docker證書,則需要配置 --><!-- <DOCKER_TLS_VERIFY>1</DOCKER_TLS_VERIFY>--><!-- <DOCKER_CERT_PATH>D:docker-ca</DOCKER_CERT_PATH>--> </envVars></configuration> </plugin></plugins> </pluginManagement></build>

注意,${project.artifactId}引用的項(xiàng)目構(gòu)件ID只能是小寫

docker-compose.yml

version: ’3.4’services: eparking: # 鏡像 image: ${host}/library/${name}:latest # 容器名 container_name: ${name}-${port} # 開(kāi)機(jī)自啟(自選) #restart: always # 環(huán)境配置 environment: # 端口 - PORT=${port} # 端口映射 ports: - '${port}:${port}' # 卷映射,這里日志根據(jù)自己項(xiàng)目輸出位置調(diào)整 volumes: - '/log/${name}/${port}:/logs/'

配置了倉(cāng)庫(kù)的話需要配置Maven的settings.xml的賬號(hào)密碼

<servers> <server><id>docker-harbor</id><username>倉(cāng)庫(kù)用戶名</username><password>倉(cāng)庫(kù)密碼</password> </server></servers>子項(xiàng)目配置(關(guān)鍵配置)

pom.xml

<!-- 這里配置的端口會(huì)傳入父項(xiàng)目,最終傳入docker-compose.yml和Dockerfile文件 --><!-- 如果需要單個(gè)鏡像啟動(dòng)多個(gè)容器,改這里的端口再啟動(dòng)就可以了 --><properties><port>8082</port></properties>... <build> <plugins> <!-- docker插件 --><plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId></plugin><!-- docker-compose的maven插件,由于docker插件不支持運(yùn)行,所以單獨(dú)安裝了 --><plugin> <groupId>com.dkanejs.maven.plugins</groupId> <artifactId>docker-compose-maven-plugin</artifactId></plugin> </plugins></build>

如果一切順利maven中會(huì)出現(xiàn)docker和docker-compse插件先執(zhí)行docker:build構(gòu)建,再執(zhí)行docker-compose:up啟動(dòng)

SpringBoot+Docker+IDEA 實(shí)現(xiàn)一鍵構(gòu)建+推送、運(yùn)行、同鏡像多容器啟動(dòng)(推薦)

成功后可以查看docker容器啟動(dòng)情況了,我這里使用的是docker插件

SpringBoot+Docker+IDEA 實(shí)現(xiàn)一鍵構(gòu)建+推送、運(yùn)行、同鏡像多容器啟動(dòng)(推薦)

好了,這功能花費(fèi)了我很長(zhǎng)時(shí)間,最終實(shí)現(xiàn)了這些功能。可能還有些小細(xì)節(jié)沒(méi)展示出來(lái),可以盡管提問(wèn)

到此這篇關(guān)于SpringBoot+Docker+IDEA 實(shí)現(xiàn)一鍵構(gòu)建+推送、運(yùn)行、同鏡像多容器啟動(dòng)的文章就介紹到這了,更多相關(guān)springboot docker idea多容器啟動(dòng)內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 台湾阳明固态继电器-奥托尼克斯光电传感器-接近开关-温控器-光纤传感器-编码器一级代理商江苏用之宜电气 | 写方案网_方案策划方案模板下载| 警用|治安|保安|不锈钢岗亭-售货亭价格-垃圾分类亭-移动厕所厂家-苏州灿宇建材 | 托利多电子平台秤-高精度接线盒-托利多高精度电子秤|百科 | 小型铜米机-干式铜米机-杂线全自动铜米机-河南鑫世昌机械制造有限公司 | 艾默生变频器,艾默生ct,变频器,ct驱动器,广州艾默生变频器,供水专用变频器,风机变频器,电梯变频器,艾默生变频器代理-广州市盟雄贸易有限公司官方网站-艾默生变频器应用解决方案服务商 | 插针变压器-家用电器变压器-工业空调变压器-CD型电抗器-余姚市中驰电器有限公司 | 亚洲工业智能制造领域专业门户网站 - 亚洲自动化与机器人网 | SPC工作站-连杆综合检具-表盘气动量仪-内孔缺陷检测仪-杭州朗多检测仪器有限公司 | 超声骨密度仪-动脉硬化检测仪器-人体成分分析仪厂家/品牌/价格_南京科力悦 | 健康管理师报名入口,2025年健康管理师考试时间信息网-网站首页 塑料造粒机「厂家直销」-莱州鑫瑞迪机械有限公司 | 电车线(用于供电给电车的输电线路)-百科| 深圳市东信高科自动化设备有限公司 | 仓储货架_南京货架_钢制托盘_仓储笼_隔离网_环球零件盒_诺力液压车_货架-南京一品仓储设备制造公司 | 刑事律师_深圳著名刑事辩护律师_王平聚【清华博士|刑法教授】 | 电渗析,废酸回收,双极膜-山东天维膜技术有限公司 | AGV无人叉车_激光叉车AGV_仓储AGV小车_AGV无人搬运车-南昌IKV机器人有限公司[官网] | 超细粉碎机|超微气流磨|气流分级机|粉体改性设备|超微粉碎设备-山东埃尔派粉碎机厂家 | 品牌策划-品牌设计-济南之式传媒广告有限公司官网-提供品牌整合丨影视创意丨公关活动丨数字营销丨自媒体运营丨数字营销 | 品牌策划-品牌设计-济南之式传媒广告有限公司官网-提供品牌整合丨影视创意丨公关活动丨数字营销丨自媒体运营丨数字营销 | 桐城新闻网—桐城市融媒体中心主办 | 变色龙PPT-国内原创PPT模板交易平台 - PPT贰零 - 西安聚讯网络科技有限公司 | 捆扎机_气动捆扎机_钢带捆扎机-沈阳海鹞气动钢带捆扎机公司 | 一体化预制泵站-一体化提升泵站-一体化泵站厂家-山东康威环保 | 潍坊青州古城旅游景点攻略_青州酒店美食推荐-青州旅游网 | 没斑啦-专业的祛斑美白嫩肤知识网站-去斑经验分享 | 长沙网站建设制作「网站优化推广」-网页设计公司-速马科技官网 | 西门子代理商_西门子变频器总代理-翰粤百科 | 二维运动混料机,加热型混料机,干粉混料机-南京腾阳干燥设备厂 | 篮球架_乒乓球台_足球门_校园_竞技体育器材_厂家_价格-沧州浩然体育器材有限公司 | 祝融环境-地源热泵多恒系统高新技术企业,舒适生活环境缔造者! | 广东护栏厂家-广州护栏网厂家-广东省安麦斯交通设施有限公司 | 家乐事净水器官网-净水器厂家「官方」 | pbootcms网站模板|织梦模板|网站源码|jquery建站特效-html5模板网 | 右手官网|右手工业设计|外观设计公司|工业设计公司|产品创新设计|医疗产品结构设计|EMC产品结构设计 | PSI渗透压仪,TPS酸度计,美国CHAI PCR仪,渗透压仪厂家_价格,微生物快速检测仪-华泰和合(北京)商贸有限公司 | 天然鹅卵石滤料厂家-锰砂滤料-石英砂滤料-巩义东枫净水 | 馋嘴餐饮网_餐饮加盟店火爆好项目_餐饮连锁品牌加盟指南创业平台 | 领先的大模型技术与应用公司-中关村科金 | 交联度测试仪-湿漏电流测试仪-双85恒温恒湿试验箱-常州市科迈实验仪器有限公司 | 护栏打桩机-打桩机厂家-恒新重工 |