微服務部署-基於DockerMaven外掛構建映象部署
基於DockerMaven外掛構建映象部署
- 這是手動部署的升級版,全部配置好之後,只需要在idea上執行一下指定即可,自動上傳到docker倉庫,自動生成映象,要注意需要在同一閘道器內,執行命令前需要手動修改一下配置檔案對應的ip為服務名
- 修改宿主機的docker配置,讓其可以允許遠端訪問
# 找到一下行進行修改 ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
- 重新整理配置,重啟服務(配置倉庫)
## 1 如果沒有搭建則建立並啟動容器 docker run -id --name=registry -p 5000:5000 registry ## 2 配置私有倉庫地址 vi /etc/docker/daemon.json { "registry-mirrors": ["https://pasw6qxp.mirror.aliyuncs.com"], "insecure-registries": ["192.168.154.129:5000"] } ## 3 重啟docker systemctl daemon-reload systemctl restart docker docker start registry boot_eureka
- 配置各服務的maven模板
<build> <!--修改app.jar--> <finalName>app</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <!--<version>1.5.9.RELEASE</version>--> </plugin> <!-- docker的maven外掛,官網:https://github.com/spotify/docker-maven-plugin --> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.2.2</version> <configuration> <!--映象的名稱 跳過上傳到私有倉庫--> <imageName>${project.artifactId}:${project.version}</imageName> <!--上傳到私有倉庫--> <!--<imageName>192.168.154.129:5000/${project.artifactId}:${project.version}</imageName>--> <!--依賴一個基礎映象 帶JDK 1.8--> <baseImage>java:8-alpine</baseImage> <!--java -jar app.jar --> <entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> <dockerHost>http://192.168.154.129:2375</dockerHost> </configuration> </plugin> </plugins> </build>
- 修改配置檔案中的ip埠,如果是遠端配置服務的也需要修改下
server: port: 12580 spring: application: name: config-server cloud: config: server: git: uri: https://gitee.com/dlw/config-test.git # 需要拉取配置的Git倉庫地址 # username: # password: rabbitmq: # host: 192.168.154.129 host: rabbitmq # 打包時修改 username: guest password: guest virtual-host: / eureka: client: service-url: # defaultZone: http://127.0.0.1:10086/eureka/ # eureka地址 defaultZone: http://eureka:10086/eureka/ # 打包時修改 management: endpoints: web: exposure: include: bus-refresh
- 在idea中執行maven命令
# 打包並且將映象上傳到私有註冊中心中 mvn clean package docker:build -DpushImage # 跳過上傳 mvn clean package docker:build -DskipDockerPush
- 檢視倉庫
http://192.168.154.129:5000/v2/_catalog
- 將docke容器放到同一閘道器內
# 已啟動的 docker network connect my-net eureka # 未啟動 docker run -id --name=config_server --network my-net -p [宿主埠]:[容器埠] [映象ID|映象名稱:tag]
- 驗證,進入eureka中心檢視服務是否註冊成功
相關文章
- 場景實踐:基於 IntelliJ IDEA 外掛部署微服務應用IntelliJIdea微服務
- 基於jib-maven-plugin快速構建微服務docker映象MavenPlugin微服務Docker
- 基於kubernetes平臺微服務的部署微服務
- 微服務架構基礎之輕量級部署微服務架構
- 基於docker 如何部署surging分散式微服務引擎Docker分散式微服務
- 基於ubuntu映象構建redis映象UbuntuRedis
- 基於 Docker 映象部署 go 專案DockerGo
- 微服務部署微服務
- Docker:Docker部署Jenkins並共用宿主機Docker部署微服務多模組(一)Jenkins部署及外掛環境搭建DockerJenkins微服務
- Docker:Docker部署Jenkins並共用宿主機Docker部署微服務多模組(二)構建微服務後端多模組DockerJenkins微服務後端
- 使用Knative基於構建、部署、管理serverless應用Server
- 基於 Serverless 的部署平臺構建與思考Server
- 基於阿里雲 ASK 的 Istio 微服務應用部署初探阿里微服務
- go基於grpc構建微服務框架-整合opentracingGoRPC微服務框架
- 【JMicro】微服務部署架構及例項微服務架構
- apisix閘道器-構建docker映象構建及外掛化開發APIDocker
- 容器映象服務聯手 IDE 外掛,實現一鍵部署、持續整合與交付IDE
- 基於Redis構建微服務的反應式架構 - bitsrcRedis微服務架構
- spring微服務架構設計與輕量級微服務架構及最佳部署Spring微服務架構
- 基於Docker和Kubernetes構建的部署管理和叢集管理Docker
- 微服務平臺下基於 GraphQL 構建 BFF 的思考微服務
- apisix~自定義外掛的部署API
- Dialog 外掛構建
- go基於grpc構建微服務框架-結構化日誌輸出GoRPC微服務框架
- go基於grpc構建微服務框架-服務註冊與發現GoRPC微服務框架
- PaddleOCR 服務化部署(基於PaddleHub Serving)
- 基於Docker部署Dubbo+Nacos服務Docker
- 透過skaffold快速部署微服務微服務
- 應用部署初探:微服務的3大部署模式微服務模式
- 微服務開發神器--JRebel 外掛破解和實現本地/遠端熱部署教程(IntelliJ IDEA版)微服務熱部署IntelliJIdea
- [譯][Part1]使用Go gRPC微服務構建HTTP/REST服務,中介軟體,Kubernetes部署等等GoRPC微服務HTTPREST
- 微服務架構:構建PHP微服務生態微服務架構PHP
- 基於K8s構建Jenkins持續整合平臺(部署流程)K8SJenkins
- docker 構建java 部署包DockerJava
- cmake構建Qt外掛QT
- Azure App Service(一)利用Azure DevOps Pipeline 構建映象,部署應用程式APPdev
- Kunbernetes-基於Nexus構建私有映象倉庫
- Blazor+Dapr+K8s微服務之基於WSL安裝K8s叢集並部署微服務BlazorK8S微服務