Docker 搭建属于自己的 Eureka 注册中心

一. 环境介绍

  1. Ubuntu 18.04 LTS (Win10 wsl2)
  2. Docker 19.03.8

二. 必要的 Docker 命令学习

 

docker images         # 查看已有镜像
docker ps -a          # 查看所有容器
docker ps             # 查看运行中的容器
docker stop name      # 停止名为 name 的容器
docker start name     # 运行名为 name 的容器
docker rm name        # 删除名为 name 的容器
docker rmi name       # 删除名为 name 的镜像

 

三. Eureka 服务打包

   1. 使用IDEA新建一个EurekaServer服务 File -> New -> Project... 选择Maven项目

 

   2. 下一步 输入喜欢的EurekaServer信息

   3. 完成后编辑 pom.xml 输入必要的信息

 1     <parent>
 2         <groupId>org.springframework.boot</groupId>
 3         <artifactId>spring-boot-starter-parent</artifactId>
 4         <version>1.5.4.RELEASE</version>
 5         <relativePath/>
 6     </parent>
 7 
 8     <dependencies>
 9         <dependency>
10             <groupId>org.springframework.cloud</groupId>
11             <artifactId>spring-cloud-starter-eureka-server</artifactId>
12         </dependency>
13     </dependencies>
14 
15     <dependencyManagement>
16         <dependencies>
17             <dependency>
18                 <groupId>org.springframework.cloud</groupId>
19                 <artifactId>spring-cloud-dependencies</artifactId>
20                 <version>Dalston.SR1</version>
21                 <type>pom</type>
22                 <scope>import</scope>
23             </dependency>
24         </dependencies>
25     </dependencyManagement>
26 
27     <!-- 如果要打包成jar并通过 java -jar 运行 则需要以下信息 -->
28     <build>
29         <plugins>
30             <plugin>
31                 <groupId>org.springframework.boot</groupId>
32                 <artifactId>spring-boot-maven-plugin</artifactId>
33             </plugin>
34         </plugins>
35     </build>

   4.  刷新 MAVEN 后补充相应目录文件, 结构和文件内容如下

 

1 @EnableEurekaServer
2 @SpringBootApplication
3 public class EurekaServer {
4     public static void main(String[] args) {
5 
6         SpringApplication.run(EurekaServer.class, args);
7     }
8 }
EurekaServer.java
 1 spring:
 2   application:
 3     name: eureka-server # 服务名
 4 
 5 server:
 6   port: 10011 # 端口号
 7 
 8 eureka:
 9   instance:
10     hostname: localhost
11   client:
12       register-with-eureka: false
13       fetch-registry: false
application.yml
1 # java环境
2 FROM openjdk:8-jdk
3 # 作者
4 MAINTAINER heei
5 # jar包相对位置 替换jar包名称
6 ADD target/eureka-server-1.0-SNAPSHOT.jar eureka-server.jar
7 # 执行的运行命令 用逗号隔开
8 ENTRYPOINT ["java","-jar","eureka-server.jar"]
Dockerfile

   5. 使用 IDEA 自带的 MAVEN 工具勾选必要项目进行打包

   6. 打包成功后将项目整体复制到部署有 Docker 的 Linux 服务器上你喜欢的目录中, 并进入项目根目录, 文件结构如下

   7. 运行 Docker 打包镜像命令(注意最后有个点), 其中 my/eureka-server 可以自定义为你喜欢的名称

docker build -t my/eureka-server .

   8. 运行 Docker 启动新容器命令启动 Eureka 服务, 其中 -d 表示后台运行; --name 表示容器命名; -p 表示映射容器内的端口号到外面(外:内)

docker run -d --name eureka-server -p 10011:10011 my/eureka-server

四. 验证

   浏览器访问 localhost:10011 (Docker 所在服务器 IP:Eureka 服务配置文件中的端口号) 即可验证

   验证通过后其他服务即可通过配置此 Eureka 服务的信息进行注册访问

posted @ 2021-02-08 15:34  Heei  阅读(1397)  评论(0编辑  收藏  举报