返回顶部
首页 > 资讯 > 精选 >docker-compose怎么部署eureka服务端和客户端
  • 719
分享到

docker-compose怎么部署eureka服务端和客户端

2023-07-05 14:07:25 719人浏览 安东尼
摘要

本篇内容介绍了“Docker-compose怎么部署eureka服务端和客户端”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!使用场景使用do

本篇内容介绍了“Docker-compose怎么部署eureka服务端和客户端”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

使用场景

使用docker-compose方式部署eureka的服务端和客户端,并使用容器ip进行通信。
原理是使用docker-compose默认在一个网络下,并提供dns下的通过service通信的功能。
该方法也可以用于其它形式的容器内部服务调用的功能实现。

服务端主要代码

pom.xml

<?xml version="1.0" encoding="UTF-8"?><project xmlns="Http://Maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.9</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.liuyang.sc</groupId><artifactId>eurekaserver</artifactId><version>0.0.1-SNAPSHOT</version><name>eurekaserver</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version><spring-cloud.version>2021.0.6</spring-cloud.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-WEB</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId><version>2.4.3</version></plugin></plugins></build></project>

application.yml

spring:  application:    name: eureka-serverserver:  port: 29108 #服务注册中心端口号eureka:  instance:    hostname: 127.0.0.1 #服务注册中心IP地址  client:    reGISterWithEureka: false #是否向服务注册中心注册自己    fetchRegistry: false #是否检索服务    serviceUrl: #服务注册中心的配置内容,指定服务注册中心的位置      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

main.java

package com.liuyang.sc.eurekaserver;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.cloud.client.discovery.EnableDiscoveryClient;@EnableEurekaServer@SpringBootApplicationpublic class EurekaserverApplication {public static void main(String[] args) {SpringApplication.run(EurekaserverApplication.class, args);}}

客户端主要代码

pom.xml

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.9</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.sc</groupId><artifactId>gateway-project</artifactId><version>0.0.1-SNAPSHOT</version><name>gateway-project</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version><spring-cloud.version>2021.0.6</spring-cloud.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-webflux</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>io.projectReactor</groupId><artifactId>reactor-test</artifactId><scope>test</scope></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId><version>2.4.3</version></plugin></plugins></build></project>

application.yml

spring:  application:    name: gateway  cloud:    gateway:      discovery:        locator:          enabled: trueserver:  port: 29107eureka:  client:    service-url:        defaultZone: http://eurekaserver:29108/eureka/  #此处的eurakaserver为docker-compose.yml中eureka-server工程的容器定义  instance:    prefer-ip-address: true# 使用IP注册,避免容器id:port调用报错

main.java

package com.sc.gatewayproject;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.cloud.client.discovery.EnableDiscoveryClient;import org.springframework.cloud.netflix.eureka.EnableEurekaClient;@EnableEurekaClient@EnableDiscoveryClient@SpringBootApplicationpublic class GatewayProjectApplication {public static void main(String[] args) {SpringApplication.run(GatewayProjectApplication.class, args);}}

粗陋的DockerFile

eurekaserver

FROM java:openjdk-8u111-jdkCOPY eurekaserver-0.0.1-SNAPSHOT.jar app.jarEXPOSE 29108ENTRYPOINT ["java","-Xmx128m","-jar","app.jar"]

gateway

FROM java:openjdk-8u111-jdkCOPY gateway-project-0.0.1-SNAPSHOT.jar app.jarEXPOSE 29107ENTRYPOINT ["java","-Xmx128m","-jar","app.jar"]

docker-compose.yml

version: '2'services:  eurekaserver:# 注意此处的名称需要添加到eureka客户端的defaultZone中,相当于docker内的主机名    #container_name: eureka_server    image: maojindaobike/eurekaserver:230315    ports:      - "29108:29108"  gateway:    #container_name: gateway    image: maojindaobike/gateway:230316_v5    ports:      - "29107:29107"    depends_on:      - eurekaserver

启动

docker-compose up -d

docker-compose怎么部署eureka服务端和客户端

扩容

扩容时,需要显式端口映射,避免端口冲突
docker-compose.yml

version: '3'services:  eurekaserver:    #container_name: eureka_server    image: maojindaobike/eurekaserver:230315    ports:      - "29108:29108"  gateway:    #container_name: gateway    image: maojindaobike/gateway:230316_v5    ports:      - "29107"    depends_on:      - eurekaserver
docker-compose up -ddocker-compose up -d --scale gateway=3

docker-compose怎么部署eureka服务端和客户端

docker-compse ps

root@dockerserver:~/SpringCloud-dockerpose# docker-compose ps/snap/docker/2746/lib/python3.6/site-packages/paramiko/transport.py:32: CryptographyDeprecationWarning: python 3.6 is no longer supported by the Python core team. Therefore, support for it is deprecated in cryptography. The next release of cryptography (40.0) will be the last to support Python 3.6.  from cryptography.hazmat.backends import default_backend                Name                             Command             State                      Ports-------------------------------------------------------------------------------------------------------------------------sprinGCloud-dockerpose_eurekaserver_1   java -Xmx128m -jar app.jar   Up      0.0.0.0:29108->29108/tcp,:::29108->29108/tcpspringcloud-dockerpose_gateway_1        java -Xmx128m -jar app.jar   Up      0.0.0.0:49154->29107/tcp,:::49154->29107/tcpspringcloud-dockerpose_gateway_2        java -Xmx128m -jar app.jar   Up      0.0.0.0:49156->29107/tcp,:::49156->29107/tcpspringcloud-dockerpose_gateway_3        java -Xmx128m -jar app.jar   Up      0.0.0.0:49155->29107/tcp,:::49155->29107/tcp

“docker-compose怎么部署eureka服务端和客户端”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: docker-compose怎么部署eureka服务端和客户端

本文链接: https://lsjlt.com/news/352273.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • docker-compose怎么部署eureka服务端和客户端
    本篇内容介绍了“docker-compose怎么部署eureka服务端和客户端”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!使用场景使用do...
    99+
    2023-07-05
  • Docker部署MySQL并实现客户端连接
    准备工作 在docker内部署任何应用,都需要先下载对应的镜像;下载镜像之前,需要先搜索镜像来确认该镜像是否存在: docker search mysql 从列表可以看到,dock...
    99+
    2024-04-02
  • linux下frp客户端服务端部署(超详细)
    实际需求:实时远程项目现场的arm工控机的ssh以及应用的web页面 现场环境:arm工控机可以通过4g路由器上网,但是使用普通流量卡没有公网IP,无法直接通过公网IP来访问设备的ssh以及web服务 应用技术:内网穿透,反向代理 开...
    99+
    2023-09-02
    linux 运维 服务器 Powered by 金山文档
  • 怎么使用docker-compose来部署服务
    今天就跟大家聊聊有关怎么使用docker-compose来部署服务,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。使用docker-compose 大杀器来部署服务 先从 d...
    99+
    2023-06-19
  • docker-compose怎么配置并部署redis服务
    本篇内容介绍了“docker-compose怎么配置并部署redis服务”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、安装docker和...
    99+
    2023-06-29
  • docker怎么部署前端项目
    要部署前端项目,你可以使用Docker来创建一个容器,然后在容器中运行你的前端应用。以下是一些步骤:1. 创建一个Dockerfil...
    99+
    2023-08-18
    docker
  • python创建udp服务端和客户端
    1.udp服务端server 1 from socket import * 2 from time import ctime 3 4 HOST = '' 5 PORT = 8888 6 BUFSIZ = 1024 7 A...
    99+
    2023-01-30
    服务端 客户端 python
  • python创建tcp服务端和客户端
    1.tcp服务端server 1 from socket import * 2 from time import ctime 3 4 HOST = '' 5 PORT = 9999 6 BUFSIZ = 1024 7 A...
    99+
    2023-01-30
    服务端 客户端 python
  • 怎么在CentOS系统上安装部署iSCSI客户端
    这篇文章主要讲解了“怎么在CentOS系统上安装部署iSCSI客户端”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么在CentOS系统上安装部署iSCSI客户端”吧!什么是iSCSIiSC...
    99+
    2023-06-10
  • oracle服务端和客户端有什么区别
    Oracle服务端和客户端之间的区别主要体现在以下几个方面:1. 功能:Oracle服务端主要负责存储和处理数据,提供数据库管理功能...
    99+
    2023-08-31
    oracle
  • python rpyc客户端怎么调用服务端
    这篇文章主要介绍“python rpyc客户端怎么调用服务端”,在日常操作中,相信很多人在python rpyc客户端怎么调用服务端问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”pytho...
    99+
    2023-07-02
  • hyperf框架 websocket服务端和websocket客户端
    本次是为了测试hyperf框架中的websocket功能进行通讯测试 前期准备,需要安装好hyperf框架并且可以运行hyperf框架即可 1.在项目根目录安装websocket服务端 按照对应手册配...
    99+
    2023-09-28
    websocket php
  • nodejs中socket怎么实现服务端和客户端功能
    小编给大家分享一下nodejs中socket怎么实现服务端和客户端功能,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体如下:使用node.js的net模块能很快的开发出基于TCP的服务端...
    99+
    2024-04-02
  • Python基于socket怎么实现TCP客户端和服务端
    这篇文章主要讲解了“Python基于socket怎么实现TCP客户端和服务端”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python基于socket怎么实现TCP客户端和服务端”吧!一、基...
    99+
    2023-06-30
  • 一台云服务器可以部署几个千牛客户端
    如果您的云服务器可以提供多个虚拟客户端(VPS),那么您可以在每个VPS上安装多个用户,以便管理多个用户。下面是一些可以配置为同时管理多个云服务器虚拟客户端的选项: VPN连接:您可以使用VPN连接,将您的客户端和云服务器连接在一起。 ...
    99+
    2023-10-27
    几个 一台 客户端
  • 使用 Golang k8s 客户端在 GKE k8s 集群中部署服务
    学习知识要善于思考,思考,再思考!今天编程网小编就给大家带来《使用 Golang k8s 客户端在 GKE k8s 集群中部署服务》,以下内容主要包含等知识点,如果你正在学习或准备学习Golang,...
    99+
    2024-04-05
  • 解读MySQL的客户端和服务端协议
    如果需要从 MySQL 服务端获得很高的性能,最佳的方式就是花时间研究 MySQL 优化和执行查询的机制。一旦理解了这些,大部分的查询优化是有据可循的,从而使得整个查询优化的过程更有逻辑性。下图展示了 MySQL 执...
    99+
    2022-05-13
    MySQL 客户端协议 MySQL 服务端协议
  • 服务端和客户端的区别及介绍
    客户端和服务器通常是值互联网硬件所扮演的主要角色。客户端又称为用户端,与服务器相对应,与服务器端相互配合运行。 下面是两者的不同点: 1、定义不同 客户端:或称为用户端,是指与服务器相对应,为客...
    99+
    2023-08-31
    firefox 服务器 windows
  • 怎么使用docker部署前端应用
    这篇“怎么使用docker部署前端应用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使...
    99+
    2024-04-02
  • Python socket怎么实现服务端和客户端数据传输
    今天小编给大家分享一下Python socket怎么实现服务端和客户端数据传输的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作