• Docker-compose


    目录

    简介:

    官方介绍

    批量容器编排

    Docker-Compose up 1000个服务,也可以一键启动

    Compose重要概念

    安装Docker Compose

    升级Docker Compose

    重启的执行命令


     

    简介:

    我们之前操作Docker的过程是:DockerFile build run进行手动操作,单个容器,如果假设我们1000个微服务,并行微服务之间还存在依赖关系,这个时候,我们就可以使用Docker Compose来轻易高效的管理容器,定义运行多个容器

    官方介绍

    定义、运行多个容器

    Yamlfile 配置环境

    Compose是一个用于定义和运行多容器Docker应用程序的工具。使用Compose,可以使用Yaml文件来配置应用程序的服务。然后,使用一个命令,就可以从配置中创建并启动所有服务。要了解有关Compose的所有特性的更多消息,请参阅特性列表

    Compose可以在所有环境中工作生产、阶段、开发、测试,以及CI工作流。使用Compose基本有三个步骤

    1. 使用Dockerfile定义你的应用程序的环境,这样就可以在任何地方复制
    2. 在Docker-compose中定义组成应用程序的服务。这样他们就可以在一个独立的环境中一起运行
    3. 运行Docker-compose up和Compose启动运行整个应用程序

    批量容器编排

    Compose是Docker官方开源项目,需要安装

    Dockerfile让程序在任何地方运行,Web程序。Redis、MySql、Nginx 多个容器

    Compose的Yaml文件如下

    version: '2.0'
    services:
    web:
    build: .
    ports:
    - "5000:5000"
    volumes:
    - .:/code
    - logvolume01:/var/log
    links:
    - redis
    redis:
    image: redis
    volumes:
    logvolume01: {}

    Docker-Compose up 1000个服务,也可以一键启动

    Compose重要概念

    1. 服务Service 容器,应用(Web,Redis,Mysql)
    2. 项目Project,就是一组关联的容器

    常见的Docker Compose脚本

    安装git命令: yum install -y git

    git clone docker-compose: docker-compose集成环境系列
    cd docker-compose/Linux

    举例:

    version: '3'

    services:

    mysql:

    image: registry.cn-hangzhou.aliyuncs.com/zhengqing/mysql:5.7 # 原镜像`mysql:5.7`

    container_name: mysql_3306 # 容器名为'mysql_3306'

    restart: unless-stopped # 指定容器退出后的重启策略为始终重启,但是不考虑在Docker守护进程启动时就已经停止了的容器

    volumes: # 数据卷挂载路径设置,将本机目录映射到容器目录

    - "./mysql5.7/my.cnf:/etc/mysql/my.cnf"

    - "./mysql5.7/data:/var/lib/mysql"

    # - "./mysql5.7/conf.d:/etc/mysql/conf.d"

    - "./mysql5.7/log/mysql/error.log:/var/log/mysql/error.log"

    - "./mysql5.7/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d" # 可执行初始化sql脚本的目录 -- tips:`/var/lib/mysql`目录下无数据的时候才会执行(即第一次启动的时候才会执行)

    environment: # 设置环境变量,相当于docker run命令中的-e

    TZ: Asia/Shanghai

    LANG: en_US.UTF-8

    MYSQL_ROOT_PASSWORD: root # 设置root用户密码

    MYSQL_DATABASE: demo # 初始化的数据库名称

    ports: # 映射端口

    - "3306:3306"

    安装Docker Compose

    官方文档:Overview | Docker Documentation

    下载

    1. 首先需要先安装一下Docker
    2. 运行此命令下载Docker Compose的当前稳定版本$ sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    3. 二进制文件添加可执行权限:sudo chmod +x /usr/local/bin/docker-compose

    如果安装失败的话,可以检查一下安装路径是否正确。 sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

    1. 测试安装 docker-compose --version

    升级Docker Compose

    如果从Compose1.2或更早版本升级,请在升级Compose后移除现有容器。这是因为从1.3版本之后,Compose使用Docker标签来跟踪容器,并且需要重新创建容器以添加标签。

    如果Compose检查到创建时没有标签的容器,它会拒绝运行,这样您就不会得到两组。如果想继续使用现有容器,可以在使用Compose1.5使用以下命令迁移

    docker-compose migrate-to-labels

    或者,如果不担心保留,可以删除,compose知识创建新的

    docker container rm -f -v myapp_web_l myapp_....

    重启的执行命令

    sudo /usr/local/bin/docker-compose down

    sudo /usr/local/bin/docker-compose up -d

  • 相关阅读:
    synchronized 关键字背后的锁升级流程
    RabbitMQ-交换机
    亿发连锁商超新零售解决方案提供商,提供定制新零售管理系统
    【YOLOv7】主要改进点详解
    es6---模块化
    逮到一个阿里10年老测试员,聊过之后收益良多...
    【Java开源项目】消息推送平台发送一条短信
    代码随想录二刷回溯算法-组合问题总结
    【数据结构】测试1 绪论
    浏览器添加油猴(tampermonkey)扩展
  • 原文地址:https://blog.csdn.net/qq_25580555/article/details/127753492