docker 编排springCloud项目:

docker 编排springCloud项目:

DockerFile常用命令详解:

命令解释
FROM指定基础镜像
MAINTAINER作者信息
RUN构建时需运行的命令
ADD向镜像中添加内容
WORKIR运行容器的默认目录
VOLUME指定挂载目录
CMD指定容器运行时的命令(替代)
ENTRYPOINT指定容器运行时的命令(追加)
ENV指定环境变量
COPY类似add,将文件拷贝到镜像中
OBUILD构建一个被继承Dockerfile时,会触发该命令

构建镜像命令:

docker build -f  dockerFile文件 -t 镜像名:版本 路径

查看镜像的构建命令:

docker history 镜像id

docker-compose 详解:

安装:
# Compose目前已经完全支持Linux、Mac OS和Windows,在我们安装Compose之前,需要先安装Docker。下面我 们以 编译好的二进制包方式安装在Linux系统中。
curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# 设置文件可执行权限 
chmod +x /usr/local/bin/docker-compose
# 查看版本信息
docker-compose -version
常用命令详解:
version: "3.0"
services:
  服务名:
  	#基于一份DockerFile,在使用时会自动构建镜像,并启动,指定文件的目录(当前目录为 . );
  	build:
  	#容器名
  	container_name:
  	#解决服务依赖问题,启动顺序的问题
  	depends_on:
  	  - mysql
  	  - 服务名
  	#links可以将其他容器的ip记录到该容器中, 再通过连接 服务名:port 可以访问数据库。
  	links:
  	  - mysql     #配置文件中127.0.0:3306--> mysql:3306
  	#指定暴露端口
  	expose:
  	#指定主机的端口和容器端口映射
  	posts:
  	#指定挂载目录/数据卷容器
  	volumes/volumes_from :
  	#设置镜像的环境变量
  	environment:

springcloud微服务编排:

准备:

springcloud: Greenwich.SR1;

springboot:2.1.5;

centos:7;

docker: 20.10.8;


微服务端口:

eureka:10086

provider:9091

consumer:8088

虚拟机地址: 192.168.111.135


修改配置application.yml文件:

将url地址替换为compose中对应的服务名:

spring:
  datasource:
    url: jdbc:mysql://mysql:3306/student?serverTimezone=UTC
defaultZone: http://eureka:10086/eureka
      
服务编排顺序:

mysql --> eureka->provider,consumer

分别编写每个微服务的DockerFile
FROM java:8
MAINTAINER ppt <1070196786@qq.com>
ADD provider.jar provider.jar
CMD ["java","-jar","provider.jar"]
编写docker-compose
version: "3.0"
services:
  eureka:
    build: ./eureka
    ports:
      - 10086:10086
    depends_on:
      - mysql
    container_name: "eureka"
  mysql:
    image: mysql:5.7
    container_name: "cloud_mysql"
    ports:
      - 3307:3306
    volumes:
      - /root/cloud/mysql/conf:/etc/mysql/conf.d
      - /root/cloud/mysql/data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: root
  provider:
    build: ./provider
    ports:
      - 9091:9091
    depends_on:
      - mysql
      - eureka
    links:
      - mysql
    container_name: "provider"
  consumer:
    build: ./consumer
    ports:
      - 8088:8088
    depends_on:
      - eureka
    container_name: "consumer"
目录结构:

把xxx.jar包和Docker分别放到每个文件夹下
在这里插入图片描述

运行命令:
docker-compose up -d  #-d以守护模式启动
运行截图:

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值