• 使用docker compose 编排微服务发布


    本文为博主原创,未经允许不得转载:

    目录:

      1. compose 简介

      2. compose 安装

      3. 编写 docker-compose.yml 实现微服务发布

      4. docker-compose 常用命令

    1.compose 简介

      使用微服务架构的应用系统一般包含若干个微服务,每个微服务一般都会部署多个实例。如果每个微服务都要手动启停,那么效率之低、维护量之大可想而知。使用 Docker Compose可轻松、高效地管理容器。

      Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。

    2.compose安装

      2.1 安装python-pip

     yum -y install epel-release
     yum -y install python-pip

      2.2 安装docker-compose

     pip install docker-compose

      2.3 待安装完成后,执行查询版本的命令

     docker-compose version

    3. 编写 docker-compose.yml 实现微服务发布

      3.1、在根目录创建文件夹/app

      3.2、在app目录下新建docker-compose.yml文件和三个文件夹nacosuserorder

      3.3、在nacosuserorder三个文件夹下分别构建nacos服务镜像,user服务镜像,order服务镜像,以构建nacos服务镜像为例,在nacos文件夹下新建dockerfile文件并且将naco服务的可运行jar包上传到该目录(注意:默认情况下Compose以服务名称作为hostname被其他容器访问)dockerfile文件内容如下

    # 基于哪个镜像
    From java:8
    # 将本地文件夹挂载到当前容器
    VOLUME /tmp
    # 复制文件到容器
    ADD nacos-server-0.0.1-SNAPSHOT.jar /app.jar
    # 声明需要暴露的端口
    EXPOSE 8761
    # 配置容器启动后执行的命令
    ENTRYPOINT ["java","-jar","/app.jar"]

      3.4docker-compose.yml内容如下

    version: '2'              #docker的文件格式版本
    services:
      eureka:                 #docker服务名
        image: nacos    #docker镜像
        ports:
          - "8848:8848"
      user: 
        image: user
        ports:  
          - "8000:8000" 
      order:    
        image: order
        ports: 
          - "8010:8010"

      3.5、启动所有微服务

      在命令后面加-d可以后台启动:

    docker-compose up

      3.6、访问三个微服务是否正常

    4、docker-compose 常用命令

        列出所有运行容器:       docker-compose ps

          查看服务日志输出 :       docker-compose logs

        构建或者重新构建服务 :    docker-compose build

        启动指定服务已存在的容器:  docker-compose start nacos

        停止已运行的服务的容器 :     docker-compose stop nacos

        删除指定服务的容器:       docker-compose rm nacos

        构建、启动容器 :        docker-compose up

        停止指定服务的容器 :     docker-compose kill nacos

  • 相关阅读:
    Array总结
    js 添加收藏
    js 浮点数
    chrome 不支持 input file cursor:pointer
    nginx proxy_set_header设置、自定义header
    docker常用命令
    ssh登录问题解决
    android10 搜索不到ble设备的问题解决
    go语言接口型函数使用
    树莓派gpio驱动
  • 原文地址:https://www.cnblogs.com/zjdxr-up/p/15311148.html
Copyright © 2020-2023  润新知