使用Dockerfile构建微服务镜像

以spring boot项目ms-eureka-server(源码在最后)为例,该项目就是一个spring cloud eureka的微服务项目,该项目可通过spring boot的maven插件打包成可执行的jar包运行,如下图所示
在这里插入图片描述
将该项目的可执行jar包构建成docker镜像:

1、将jar包上传linux服务器/app/eureka目录,在jar包所在目录创建名为Dockerfile的文件

2、在Dockerfile中添加以下内容

#基于哪个镜像

From java:8

复制文件到容器

ADD microservice-eureka-server-0.0.1-SNAPSHOT.jar /app.jar

#声明需要暴露的端口

EXPOSE 8761    # 微服务项目的启动端口

配置容器启动后执行的命令

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

3、使用docker build命令构建镜像

 docker build -t microservice-eureka-server:0.0.1 .

#格式: docker build -t 镜像名称:标签 Dockerfile的相对位置
在这里,使用-t选项指定了镜像的标签。执行该命令后,终端将会输出如下的内容
在这里插入图片描述
4、启动镜像,加-d可在后台启动

#docker run -p 8761:8761 microservice-eureka-server:0.0.1

5、访问http://Docker宿主机IP:8761/,可正常显示微服务Eureka Server的首页
在这里插入图片描述
至此,我们就算用docker完成了微服务项目的部署,当然docker还有很多有意思的东西,比如docker compose编排微服务,kubernetes容器编排等等

发布了32 篇原创文章 · 获赞 3 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/zhuangliren/article/details/105299523