docker 部署spring boot 微服务

spring boot 应用在docker容器之间的通信

接触docker有大概半年时间了,一直没有具体去系统的学习,了解的不多,本次在开发中,项目刚启动,采用docker部署微服务,目前一直在研究,首先简单介绍docker部署spring boot微服务应用,由于篇幅较大,涉及到单机,还有跨主机等多种方式通信,so 分几次发出来。

1 使用docker容器中部署spring boot应用

1 使用docker容器中部署spring boot应用
首先使用mvn clean install 命令构建将spring boot应用打包成jar包,推送到maven私有仓库,然后推送到linux虚拟机中。
采用Dockerfile的方式将其打成docker镜像文件。
Dockerfile内容具体如下,FROM 基础容器是一个拥有jdk 8容器,VOLUME挂载临时目录/tmp,add 将前面一个jar包复制到app.jar包中,ENTRYPOINT容器启动后,在容器中执行类似于jar -jar命令运行app.jar:

FROM java:8
MAINTAINER [email protected]
VOLUME /tmp
ADD springboot-euraka-client-demo-0.0.1-SNAPSHOT.jar app.jar
RUN sh -c 'touch /app.jar'
ENV JAVA_OPTS=""
ENTRYPOINT ["sh","-c","java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar"]

将spring boot 应用的jar包和Dockerfile放在同一目录下,使用 以下命令构建镜像。

docker build -t hzx/hello:v1 .

镜像打包过程如下图:

docker 部署spring boot 微服务_第1张图片

有镜像文件之后,直接启动镜像文件,暴露服务端口即可,即可完成docker容器部署spring boot应用。
命令如下:

docker run -d -p 10003:10001 hzx/hello:v1

具体spring boot效果图如下
docker 部署spring boot 微服务_第2张图片

感兴趣的同学点波赞和关注,谢谢。刚刚开始写博客,很多不成熟的地方请多多谅解~

下一篇:docker的三种通信方式bridge、host、none

你可能感兴趣的:(docker 部署spring boot 微服务)