最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

docker-compose部署eureka服務(wù)端、客戶端的案例代碼

 更新時(shí)間:2023年03月21日 08:52:24   作者:MAO_JIN_DAO  
這篇文章主要介紹了docker-compose部署eureka服務(wù)端、客戶端,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

使用場(chǎng)景

使用docker-compose方式部署eureka的服務(wù)端和客戶端,并使用容器ip進(jìn)行通信。
原理是使用docker-compose默認(rèn)在一個(gè)網(wǎng)絡(luò)下,并提供dns下的通過service通信的功能。
該方法也可以用于其它形式的容器內(nèi)部服務(wù)調(diào)用的功能實(shí)現(xiàn)。

服務(wù)端主要代碼

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-server

server:
  port: 29108 #服務(wù)注冊(cè)中心端口號(hào)
eureka:
  instance:
    hostname: 127.0.0.1 #服務(wù)注冊(cè)中心IP地址
  client:
    registerWithEureka: false #是否向服務(wù)注冊(cè)中心注冊(cè)自己
    fetchRegistry: false #是否檢索服務(wù)
    serviceUrl: #服務(wù)注冊(cè)中心的配置內(nèi)容,指定服務(wù)注冊(cè)中心的位置
      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
@SpringBootApplication
public 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: true

server:
  port: 29107

eureka:
  client:
    service-url:
        defaultZone: http://eurekaserver:29108/eureka/  #此處的eurakaserver為docker-compose.yml中eureka-server工程的容器定義
  instance:
    prefer-ip-address: true	# 使用IP注冊(cè),避免容器id:port調(diào)用報(bào)錯(cuò)

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
@SpringBootApplication
public class GatewayProjectApplication {

	public static void main(String[] args) {
		SpringApplication.run(GatewayProjectApplication.class, args);
	}

}

粗陋的DockerFile

eurekaserver

FROM java:openjdk-8u111-jdk

COPY eurekaserver-0.0.1-SNAPSHOT.jar app.jar

EXPOSE 29108

ENTRYPOINT ["java","-Xmx128m","-jar","app.jar"]

gateway

FROM java:openjdk-8u111-jdk

COPY gateway-project-0.0.1-SNAPSHOT.jar app.jar

EXPOSE 29107

ENTRYPOINT ["java","-Xmx128m","-jar","app.jar"]

docker-compose.yml

version: '2'
services:
  eurekaserver:			# 注意此處的名稱需要添加到eureka客戶端的defaultZone中,相當(dāng)于docker內(nèi)的主機(jī)名
    #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

啟動(dòng)

docker-compose up -d

擴(kuò)容

擴(kuò)容時(shí),需要顯式端口映射,避免端口沖突
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 -d
docker-compose up -d --scale gateway=3

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/tcp
springcloud-dockerpose_gateway_1        java -Xmx128m -jar app.jar   Up      0.0.0.0:49154->29107/tcp,:::49154->29107/tcp
springcloud-dockerpose_gateway_2        java -Xmx128m -jar app.jar   Up      0.0.0.0:49156->29107/tcp,:::49156->29107/tcp
springcloud-dockerpose_gateway_3        java -Xmx128m -jar app.jar   Up      0.0.0.0:49155->29107/tcp,:::49155->29107/tcp

到此這篇關(guān)于docker-compose部署eureka服務(wù)端、客戶端的文章就介紹到這了,更多相關(guān)docker compose部署eureka內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • centos6使用docker部署kafka項(xiàng)目的方法分析

    centos6使用docker部署kafka項(xiàng)目的方法分析

    這篇文章主要介紹了centos6使用docker部署kafka項(xiàng)目的方法,結(jié)合實(shí)例形式分析了centos6環(huán)境下使用docker部署kafka項(xiàng)目的相關(guān)命令與使用技巧,需要的朋友可以參考下
    2020-02-02
  • Docker部署Microsoft Sql Server詳細(xì)步驟

    Docker部署Microsoft Sql Server詳細(xì)步驟

    大家好,本篇文章主要講的是Docker部署Microsoft Sql Server詳細(xì)步驟,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • docker安裝gitea教程(本地部署gitea倉(cāng)庫(kù))

    docker安裝gitea教程(本地部署gitea倉(cāng)庫(kù))

    這篇文章主要介紹了docker安裝gitea教程(本地部署gitea倉(cāng)庫(kù)),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • 通過Docker安裝啟動(dòng)DB2在Spring?Boot整合DB2的方法

    通過Docker安裝啟動(dòng)DB2在Spring?Boot整合DB2的方法

    DB2是IBM的一款優(yōu)秀的關(guān)系型數(shù)據(jù)庫(kù),這篇文章主要介紹了通過Docker啟動(dòng)DB2,并在Spring?Boot整合DB2,需要的朋友可以參考下
    2023-01-01
  • 教你使用Docker?Compose一鍵部署前后端分離項(xiàng)目

    教你使用Docker?Compose一鍵部署前后端分離項(xiàng)目

    Compose是一個(gè)定義和管理多容器的工具,使用Python語言編寫,下面這篇文章主要給大家介紹了關(guān)于如何使用Docker?Compose一鍵部署前后端分離項(xiàng)目的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • docker5 全功能harbor倉(cāng)庫(kù)搭建過程

    docker5 全功能harbor倉(cāng)庫(kù)搭建過程

    Harbor是構(gòu)建企業(yè)級(jí)私有docker鏡像的倉(cāng)庫(kù)的開源解決方案,本文給大家分享docker5 全功能harbor倉(cāng)庫(kù)搭建過程,感興趣的朋友一起看看吧
    2021-06-06
  • Docker使用鏡像倉(cāng)庫(kù)的方法

    Docker使用鏡像倉(cāng)庫(kù)的方法

    這篇文章介紹了Docker使用鏡像倉(cāng)庫(kù)的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-01-01
  • Docker構(gòu)建簡(jiǎn)單的個(gè)人主頁(yè)網(wǎng)站實(shí)戰(zhàn)教程

    Docker構(gòu)建簡(jiǎn)單的個(gè)人主頁(yè)網(wǎng)站實(shí)戰(zhàn)教程

    Docker是一種開源容器化技術(shù),可以打包、發(fā)布和運(yùn)行應(yīng)用程序,本教程介紹了如何使用Docker構(gòu)建一個(gè)簡(jiǎn)單的個(gè)人主頁(yè)網(wǎng)站,通過編寫Dockerfile來自定義鏡像,并展示了如何通過傳入環(huán)境變量來動(dòng)態(tài)更改網(wǎng)頁(yè)內(nèi)容,項(xiàng)目使用的技術(shù)包括Docker、Alpine、Nginx、HTML、CSS和JavaScript
    2024-10-10
  • Docker中安裝寶塔的詳細(xì)教程

    Docker中安裝寶塔的詳細(xì)教程

    這篇文章主要介紹了Docker中安裝寶塔的詳細(xì)教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • Linux下定時(shí)自動(dòng)備份Docker中所有SqlServer數(shù)據(jù)庫(kù)的腳本

    Linux下定時(shí)自動(dòng)備份Docker中所有SqlServer數(shù)據(jù)庫(kù)的腳本

    這篇文章主要介紹了Linux下定時(shí)自動(dòng)備份Docker中所有SqlServer數(shù)據(jù)庫(kù)?,編寫shell文件給出一個(gè)備份的范例,在Linux添加定時(shí)任務(wù),通過下列命令來檢測(cè)并安裝這個(gè)服務(wù),需要的朋友可以參考下
    2022-09-09

最新評(píng)論

洛浦县| 全州县| 乃东县| 通州市| 贞丰县| 交城县| 靖宇县| 七台河市| 黎川县| 永兴县| 扶绥县| 潼南县| 南江县| 天柱县| 虞城县| 宁国市| 苏尼特左旗| 桂平市| 菏泽市| 冷水江市| 漠河县| 博乐市| 桃江县| 准格尔旗| 德保县| 阳泉市| 宾阳县| 保德县| 丹江口市| 罗田县| 苏尼特左旗| 抚顺县| 大埔县| 囊谦县| 拜泉县| 宝丰县| 仁怀市| 油尖旺区| 太仆寺旗| 岑溪市| 通江县|