想要使用docker-compose进行集群部署
需要将cloud项目打成jar包后存放在各自的文件夹下,同时还需要Dockerfile文件
dockerfile文件内容比较简单
FROM java:8-alpine
COPY ./app.jar /tmp/app.jar
ENTRYPOINT java -jar /tmp/app.jar
分别代表基于java8 拷贝文件 启动脚本
将所有微服务的jar包和dockerfile文件准备好后还需要docker-compose.yml文件
version: "3.2"
services:
nacos:
image: nacos/nacos-server
environment:
MODE: standalone
ports:
- "8848:8848"
mysql:
image: mysql:5.7.25
environment:
MYSQL_ROOT_PASSWORD: ***
volumes:
- "$PWD/mysql/data:/var/lib/mysql"
- "$PWD/mysql/conf:/etc/mysql/conf.d/"
userservice:
build: ./user-service
orderservice:
build: ./order-service
gateway:
build: ./gateway
ports:
- "10010:10010"
然后再linux系统中使用docker-compose up -d 后台部署即可
其中需要用到的image会自动拉取
需要注意alibaba的bug
naocs不一定是先启动的,如果是微服务先启动,就会找不到nacos无法注册导致报错
所以可以使用docker-compose restart 微服务名 重新启动一次微服务
或者先部署nacos 其他微服务单独部署
要注意 除了gateway以外 其他的不要带有端口名称