编写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: 123
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"
为每个微服务模块编写Dockerfile文件
FROM java:8-alpine
COPY ./app.jar /tmp/app.jar
ENTRYPOINT java -jar /tmp/app.jar
修改每个微服务中的application.yml配置文件,与docker-compose.yml相对应
spring:
datasource:
url: jdbc:mysql://mysql:3306/cloud_order?useSSL=false
username: root
password: 123
driver-class-name: com.mysql.jdbc.Driver
application:
name: orderservice
cloud:
nacos:
server-addr: nacos:8848 # nacos服务地址
将微服务都打包,在pom.xml文件中编写
<build>
<!-- 服务打包的最终名称 -->
<finalName>app</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
编译打包好的app.jar文件,需要放到Dockerfile的同级目录中
将文件整个cloud-demo文件夹上传到云服务器中,由DockerCompose部署
进入cloud-demo目录,然后运行下面的命令:
docker-compose up -d
重点是要进入mysql容器,
docker exec -it mysql bash
按照微服务中的配置对mysql密码进行修改