在docker中运行自己的eureka服务端

前言:

做项目时用到了eureka做注册中心,由于eureka服务端需要单独启动一个服务,每次在不同的电脑上跑项目时都要新建一个eureka客户端跑起来,比较麻烦,因此就想将eureka部署到自己的服务器上去。刚好自己的服务器上有docker,于是就想着通过docker镜像在容器中运行eureka服务端。

步骤:

要做到在docker中运行自己的eureka服务端需要两个步骤:

第一步,建立一个eureka服务端项目。

第二步,将项目打包成docker镜像并运行。

建立一个eureka服务端项目

首先来做第一步:建立一个eureka服务端项目,这个很简单,按照以下步骤来就行了,可以说只有一行代码。

1、通过Spring Initalizr 创建一个项目,引入Eureka Server

或者直接建一个maven项目导入Eureka Server依赖

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
    <version>3.0.3</version>
</dependency>

2、在@SpringBootApplication标注的主启动类上加上@EnableEurekaServer 注解

3、配置eureka

server:
  port: 8761
spring:
  application:
    name: eureka-server
eureka:
  instance:
    hostname: 127.0.0.1
  client:
    register-with-eureka: false
    fetch-registry: false
    service-url:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

接下来测试启动没问题就可以进行下一步了。

将项目打包成docker镜像并运行

首先使用maven插件将项目打成jar包(package/install 都可以),然后就可以看到在和src目录同级的target目录下生成了一个项目jar包。

然后在src目录下(参考上图)建一个Dockerfile文件,文件内容为:

#指使用jdk.18的java镜像,在容器中安装java.
FROM java:8
#作者
MAINTAINER author
#指向了一个/tmp的目录,springboot内置tomcat默认使用/tmp作为工作目录.
#作用是在主机的/var/lib/docker目录下创建了一个临时文件,并连接到容器的/tmp.
VOLUME /tmp
#将项目的jar文件作为app.jar添加到容器,app.jar就是别名.
ADD eureka-server-0.0.1-SNAPSHOT.jar app.jar
#表示在新创建的镜像中执行一些命令,然后把执行的结果提交到当前镜像.这里使用bash或sh都可以,没什么区别,bash完全兼容sh.
RUN bash -c 'touch /app.jar'
#容器暴露端口.
EXPOSE 8761
#应用启动命令,设置启动参数等
ENTRYPOINT [ "java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.jar" ]

然后将eureka -server项目jar包和Dockerfile一起上传到服务器

然后执行docker命令将项目打包成镜像

 docker build -t author/eureka-server:1.10.14 .
                       
其中author/eureka-server:1.10.14表示的意思是 作者/镜像名称:TAG(版本)
我这里写1.10.14是用的eureka-server的版本,简单点直接替换成 eureka-server:1.0 也可以
注意:命令后面需要一个参数".",代表当前路径

打包完成后查看当前docker内镜像

然后运行容器

docker run -d -p 8761:8761 --name eureka-server 8edee
其中8edee是镜像id的前几个字符,直接写镜像名称也可以

运行后访问服务器ip+8761 成功。

访问不成功记得开放端口!!踩坑了

参考:https://blog.csdn.net/cjbfzxz/article/details/106653116?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_baidulandingword-1&spm=1001.2101.3001.4242

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值