使用 Dockerfile 结合 docker-compose部署 spring boot 项目
1. 环境准备
安装docker 环境
安装构建工具 maven
准备自己的 spring boot 项目
2. docker 下载 jdk镜像
此处使用openjdk:11
docker pull openjdk:11
3. 项目打包
使用maven package 命令 将项目 打成 jar 备用
- 可以直接使用 命令
mvn clean
mvn package
- 使用 idea maven 工具
![](https://img.haomeiwen.com/i22839055/5aacc9c1c1d3cea5.png)
- 打包完成后 jar包会存在于
![](https://img.haomeiwen.com/i22839055/6bb9ea92cf2e176e.png)
4. 编写Dockerfile文件
Dockerfile配置详解解析 参见我的另一篇 博客 https://blog.csdn.net/qq_41692766/article/details/105666618
-
将jar 包拷贝到 指定 自己的 目录下(随意选取)
-
新建Dockerfile文件 (无后缀)
-
内容简单示例
FROM openjdk:11 VOLUME /tmp #根据自己定义的项目名称进行修改 ADD common-registcenter-0.0.1-SNAPSHOT.jar common-registcenter-0.0.1-SNAPSHOT.jar ENTRYPOINT ["java","-jar","/common-registcenter-0.0.1-SNAPSHOT.jar"]
-
镜像构建
docker build -t register:0.1 .
注意结尾 一定有一个 英文格式句号 “.”
5. 编写 docker-compose.yml 文件
docker-compose配置详解解析 参见我的另一篇 博客 https://blog.csdn.net/qq_41692766/article/details/105666833
-
创建 docker-compose.yml文件并进行内容编写
-
内容示例
version: "3" #版本号 services: # 服务名 eureka0: image: register:0.1 #使用的镜像 ports: - "60010:60010" #暴露的端口信息和docker run -d -p 80:80 一样 restart: "always" #重启策略,能够使服务保持始终运行,生产环境推荐使用 container_name: eureka0 #容器名称 environment: spring.profiles.active: dev0 build: ./registcenter eureka1: image: register:0.1 #使用的镜像 ports: - "60011:60011" #暴露的端口信息和docker run -d -p 80:80 一样 restart: "always" #重启策略,能够使服务保持始终运行,生产环境推荐使用 container_name: eureka1 #容器名称 environment: spring.profiles.active: dev1 build: ./registcenter eureka2: image: register:0.1 #使用的镜像 ports: - "60012:60012" #暴露的端口信息和docker run -d -p 80:80 一样 restart: "always" #重启策略,能够使服务保持始终运行,生产环境推荐使用 container_name: eureka2 #容器名称 environment: spring.profiles.active: dev2 build: ./registcenter
6. 测试访问
浏览器访问 http://eureka0:60010
网友评论