用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微服務架構實戰》一書的整理。