Docker连接Spring Cloud微服务项目
前提:
搭建环境
安装Docker
拉取镜像(必须) openjdk mysql
创建容器
运行容器
Java后端
1.搭建好微服务项目
2.修改yaml文件
- 端口号 ----虚拟机IP
- 3307 ----对应docker中MySQL容器端口号
- school ----对应MySQL容器中的数据库
datasource:
url: jdbc:mysql://192.168.130.138:3307/school?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: 123456
3.创建Dockerfile
# 基础镜像
FROM openjdk:11.0-jre-buster
# 设定时区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 拷贝jar包
COPY docker-demo.jar /app.jar
# 入口
ENTRYPOINT ["java", "-jar", "/app.jar"]
4.打包项目
maven → package打包
Docker容器端
1.启动所需容器
#1.查看所有启动容器
docker ps
#2.(未启动)查看所有进程
docker ps -a
#3.启动进程
docker start 容器名/容器id
#4.再次查看所有容器是否启动
docker ps
2.构建自定义网络 network
docker network create ZENGzw(名称随便)
3.指定容器连接网路
#这里只是连接了mysql,其他容器连接,相同步骤
docker network connect ZENGzw mysql
4.将打包好的微服务项目中的Dockerfile和target目录下xxx.jar文件拷贝到虚拟机root目录
注:这里的demo文件夹是通过命令创建: mkdir 文件名
5.构建项目镜像,在当前目录
# 进入文件夹,这里暂时放到自建文件夹demo中
cd /demo
# 构建镜像,这个 . 表示当前目录
docker build -t hmall .
6.查看镜像 ,是否创建成功
docker images
7.创建容器运行容器,并加入网络
docker run -d --name hm -p 8080:8080 --network heima hmall
9.查看日志 可以看到spring启动信息
docker logs -f hm
成功------------