3.4 Docker-Compoes

一、初识DockerCompose

  1. 什么事DockerCompose

    1. Doker Compose可以基于Compose文件帮我们快速的部分布式应用,而无需手动一个个创建和运行容器

    2. Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行

    3. DockerCompose详细语法可以参考官网文档:https://docs.docker.com/compose/compose-file/

二、DockerCompose安装

  1. 通过命令下载安装——Linux:

    # 安装
    curl -L https://github.com/docker/compose/releases/download/v2.9.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

    备注:可以到连接上查看最新的版本

    下载并修改地址并改名

  2. 修改文件权限

    # 修改权限
    chmod +x /usr/local/bin/docker-compose

    备注:添加可执行权限

  3. 步骤至此,已经安装完成,下面是微课后续方便进行的自动补全命令配置

    # 补全命令
    curl -L https://raw.githubusercontent.com/docker/compose/1.29.1/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose
  4. 如果步骤3设置自动补全报错,或者下载不下来,需要执行下面的命令修复一下host文件

    echo "199.232.68.133 raw.githubusercontent.com" >> /etc/hosts

二、部署微服务集群

  1. 将需要的jar包放在对应目录中,并定义好Dockerfile文件

  2. 定义好对应的DockerCompose文件(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"
  3. DockerCompose配置的微服务,可以直接通过DockerCompose配置的服务名进行相符访问,因为,服务中的工具配置可以修改文DockerCompose中的服务名+端口,然后就可以直接访问

  4. 上传后运行命令

    docker-compose up -d

    备注:在对应的文件中运行

  5. 重启服务或通知服务,可以直接在命令后面加上服务名(在yml文件中配置的对应名字)

    docker-compose restart gateway userservice orderservice
  6. 查看日志:

    docker-compose logs -f [服务名]

最后更新于

这有帮助吗?