基于docker部署spring cloud微服务项目,实操版本
以下是一个基于Docker部署Spring Cloud微服务项目的简化示例。
- 创建一个
Dockerfile
用于构建微服务的Docker镜像:
FROM openjdk:11-jre-slim
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
- 在微服务项目的根目录创建
docker-compose.yml
文件,用于定义服务的网络和依赖:
version: '3.8'
services:
eureka-server:
build:
context: ./eureka-server
dockerfile: Dockerfile
ports:
- "8761:8761"
networks:
- net-spring-cloud
service-provider:
build:
context: ./service-provider
dockerfile: Dockerfile
ports:
- "8081:8081"
networks:
- net-spring-cloud
depends_on:
- eureka-server
service-consumer:
build:
context: ./service-consumer
dockerfile: Dockerfile
ports:
- "8082:8082"
networks:
- net-spring-cloud
depends_on:
- eureka-server
networks:
net-spring-cloud:
driver: bridge
- 在每个微服务模块的根目录中,都需要有一个Dockerfile和一个
target/
目录(假设你使用Maven进行构建),这样Docker才能从中复制JAR文件。 - 在所有服务的Dockerfile相同的目录下,执行以下命令来构建和启动你的微服务:
docker-compose up --build
这个命令将会根据docker-compose.yml
文件的定义来构建和启动所有的服务,每个服务将运行在独立的Docker容器中。
确保你的Spring Cloud微服务项目结构和配置适用于Docker和Docker Compose。这个示例假设你有一个Eureka Server、一个Service Provider和一个Service Consumer。每个服务都有自己的Dockerfile和docker-compose.yml
文件。
评论已关闭