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 服务的信息进行注册访问

(0)

相关推荐

  • maven添加ojdbc6.jar(11g)包

    不要通过oracle官网下,折腾了我一下午都没安装成功. 建议通过maven repo网站的下载:https://mvnrepository.com/artifact/oracle/ojdbc6/11 ...

  • 构建自己的docker镜像

    今天玩一下怎么构建一个我们自己的docker镜像,然后我们试试将本地的springboot项目打包成一个镜像,然后发送到远程服务器的docker中,最后我们运行这个docker镜像成功访问: 提前须知 ...

  • Spring Cloud 系列之 Netflix Eureka 注册中心

    服务注册中心是服务实现服务化管理的核心组件,类似于目录服务的作用,主要用来存储服务信息,譬如提供者 url 串.路由信息等.服务注册中心是微服务架构中最基础的设施之一. 在微服务架构流行之前,注册中心 ...

  • Dubbo环境搭建-ZooKeeper注册中心

    场景 Dubbo简介与基本概念: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103555224 注: 博客: https:// ...

  • 普通springcloud eureka 和 spring cloud Alibaba nacos 注册中心

     -------------------------------------普通springcloud eureka   1 .eureka  注册中心:做了两个eureka服务,以此类推可以做多个, ...

  • Spring Cloud 系列之 Consul 注册中心

    Netflix Eureka 2.X https://github.com/Netflix/eureka/wiki 官方宣告停止开发,但其实对国内的用户影响甚小,一方面国内大都使用的是 Eureka ...

  • 这样用Docker 搭建 Jenkins 实现自动部署,你知道吗?

    一.为什么用jenkins 主要是我们现在的项目都是采用手动部署的,每当给项目中新增一个功能就必须执行(打包--测试--上传测试修复的包到指定服务器--部署上线),这个流程操作起来繁杂,不小心就可能导 ...

  • ketchup 注册中心consul使用

    ketcup  git地址:https://github.com/simple-gr/ketchup consul 安装 1.docker pull consul 2.docker run --nam ...

  • 使用 Docker 搭建 SonarQube 代码扫描平台

    引言静态代码分析是指在不运行代码的方式下,通过词法分析.语法分析.控制流.数据流分析等技术对程序代码进行扫描的技术.它的目的是验证代码是否满足规范性.安全性.可靠性.可维护性的要求.统计证明,在整个软 ...

  • CentOS7上Docker搭建OpenStf环境

    应用场景: 开始了解stf主要源自于当前移动端自动化过程中,发现执行机器上挂载的移动设备监控起来比较麻烦,有时候报错或调试需要跑到执行机所在的位置查看运行情况,有没有一种办法可以直接在自己位置上就能看 ...

  • 一、dubbo的注册中心以及服务注册源码剖析

    一.整体设计 dubbo整体设计以及调用用链路参照官网http://dubbo.apache.org/zh-cn/docs/dev/design.html 二.dubbo的注册中心 1.注册中心参照官 ...