以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容器编排等等