用docker-compose编排微服务,大致有三个步骤:
1、使用Dockerfile定义应用程序环境,以便在任何地方重现。
2、在docker-compose.yml文件中定义组成应用程序的服务,以便各个服务在一个隔离的环境中一起运行。
3、运行docker-compose up命令,启动并运行整个应用程序。
入门例子:
1、使用mvn clean package命令打包项目,获得microservice-discovery-eureka-0.0.1-SNAPSHOT.jar。
2、在microservice-discovery-eureka-0.0.1-SNAPSHOT.jar所在的路径创建Dockerfile文件,写入:
FROM java:8
VOLUME /tmp
ADD microservice-discovery-eureka-0.0.1-SNAPSHOT.jar app.jar
RUN bash -c 'touch /app.jar'
EXPOSE 9000
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
3、在microservice-discovery-eureka-0.0.1-SNAPSHOT.jar所在的文件路径创建文件docker-compose.yml,添加内容:
version: '3'
services:
eureka:
build:. #指定Dockerfile所在的路径,.表示当前路径。
ports:
- "8761:8761" #指定端口映射,类似docker run 的-p选项
4、在docker-compose.yml所在的路径下执行以下命令:
docker-compose up
本文是《SpringCloud和Docker微服务架构实战》一书的整理。