由于项目中使用到Eureka注册中心,为了便于本地自行测试,在个人服务器上搭建Eureka注册中心。本教程基于Docker构建Eureka-Server。
https://gitee.com/Xiaoxinnolabi/my-eureka-server
IDEA相关创建基于Maven工程,这里就不赘述了。
主要是引入了:SpringBootStarter、SpringCloudStarterEurekaServer
pom配置如下:
<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0modelVersion>
<groupId>org.xiaoxinnolabigroupId>
<artifactId>my-eureka-serverartifactId>
<version>1.0-SNAPSHOTversion>
<properties>
<maven.compiler.source>8maven.compiler.source>
<maven.compiler.target>8maven.compiler.target>
properties>
<parent>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-parentartifactId>
<version>1.5.4.RELEASEversion>
<relativePath/>
parent>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloudgroupId>
<artifactId>spring-cloud-dependenciesartifactId>
<version>Dalston.SR1version>
<type>pomtype>
<scope>importscope>
dependency>
dependencies>
dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloudgroupId>
<artifactId>spring-cloud-starter-eureka-serverartifactId>
<version>1.4.7.RELEASEversion>
dependency>
dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-maven-pluginartifactId>
plugin>
plugins>
build>
project>
@SpringBootApplication
@EnableEurekaServer
public class MyEurekaServer {
public static void main(String[] args) {
SpringApplication.run(MyEurekaServer.class, args);
}
}
这里配置注册中心端口为:8002,可根据自己需要修改端口。
server:
port: 8002
eureka:
instance:
hostname: 127.0.0.1
prefer-ip-address: true
client:
register-with-eureka: false
fetch-registry: false
service-url:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
spring:
application:
name: my-eureka-server
启动Eureka-Server,出现如下即为启动成功:
2022-03-03 15:02:41.733 INFO 22608 --- [ Thread-24] e.s.EurekaServerInitializerConfiguration : Started Eureka Server
2022-03-03 15:02:41.777 INFO 22608 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8002 (http)
2022-03-03 15:02:41.778 INFO 22608 --- [ main] .s.c.n.e.s.EurekaAutoServiceRegistration : Updating port to 8002
2022-03-03 15:02:41.783 INFO 22608 --- [ main] org.xiaoxinnolabi.server.MyEurekaServer : Started MyEurekaServer in 7.076 seconds (JVM running for 8.186)
浏览器访问:http://localhost:8002/
这里使用需要Eureka-Server的项目,修改其配置如下:
defaultZone: http://127.0.0.1:8002/eureka/
FROM java:8
VOLUME /tmp
ADD my-eureka-server-1.0-SNAPSHOT.jar my-eureka-server.jar
EXPOSE 8002
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/my-eureka-server.jar"]
jar文件与Dockerfile上传服务器,并在目录下,执行以下代码:
(注意当前所在目录为jar与Dockerfile文件所在目录,以及末尾的. )
docker build -t mynew/myeurekaserver .
docker run -d --restart=always --name myeureka -e "JAVA_OPTS=-Xms256m -Xmx256m" -p 8002:8002 mynew/myeurekaserver
解释如下:
docker run
##后台运行容器
-d
##Docker重启 容器也重启
--restart=always
##容器名
--name myeureka
##相关参数
-e "JAVA_OPTS=-Xms256m -Xmx256m"
##映射端口
-p 8002:8002
##镜像
mynew/myeurekaserver
docker ps -a
docker logs myeureka
修改项目eureka相关配置
defaultZone: http://服务器IP:8002/eureka/
运行项目,在http://服务器IP:8002/ 查看是否有服务注册。