zoukankan      html  css  js  c++  java
  • 关于docker集群

    1.docker Compose

    简介
    Docker

    之前:DockerFile build ->run需要手动操作,很麻烦

    如果有100微服务,那么需要手动创建100个容器?

    docker Compose来轻松高效的管理容器,定义运行多个容器

    官方介绍

    定义运行多个容器
    使用YAML配置文件
    singgle command命令有哪些?
    所有环境都可以使用Compose

    • 三步骤
      dockerfile保证我们的项目在任何地方运行
      service是什么服务?docker-compose.yml这个文件怎么写?
      启动compose

    作用:就是批量容器编排

    自己的理解

    Compose是Docker官方的开源项目,需要安装
    Dockerfile 让程序在任何地方运行。 web服务,redis,mysql,nginx。。。涉及到多个容器。(一个一个run太麻烦)
    Compose

    version: "3.8"
    services:
      web: #web服务容器
        build: .
        ports:
          - "5000:5000"
        volumes:
          - .:/code
          - logvolume01:/var/log
        links:  #链接
          - redis
      redis:  #redis服务容器
        image: redis
    volumes:
      logvolume01: {}
    

    compose:重要概念

    • 服务Service,容器、应用 (web,redis,mysql)
    • 项目project,一组关联的容器,形成一个完整的项目

    compose的安装

    安装
    sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    为compose赋予操作权限
    sudo chmod +x /usr/local/bin/docker-compose
    体验

    官方测试应用:python计数,redis记录数据

    1. 应用 app.py
    2. Dockerfile 应用打包为镜像
    3. Docker-compose.yml 文件 (定义整个服务,需要的环境,web,redis)
    4. 启动compose项目(docker-compose up)
      流程
    5. 创建网络
    6. 执行Docker-compose.yml
    7. 启动服务
      docker-compose up
    8. 停止服务
      docker-compose down || ctrl+c

    docker-compose --version 查看版本


    自动下载image

    默认的服务名 文件名_服务名_num
    多个服务器形成的集群,_num表示副本数量
    例如:一个redis服务=>可能UI有4个副本

    集群状态下服务都不可能只有一个,应该是弹性的(高可用的)

    网络规则


    只要通过compose启动就会给这个应用申请一个自己的网络
    作用:让项目中的内容都在同一个网络下,通过域名访问


    如果在同一个网络下,我们可以直接通过域名访问

    docker-compose.yml规则

    核心

    只有三层

    version: '' #版本
    
    

    Docker Swarm

    集群方式部署、4台阿里云服务器,

  • 相关阅读:
    组合数
    2019牛客暑期多校训练营第一场 E ABBA
    2019牛客暑期多校训练营(第一场) H XOR
    POJ-1742Coins
    POJ 1384 Piggy-Bank
    operator.itemgetter函数
    常用内置模块之itertools
    解决Django REST framework中的跨域问题
    关于模板渲染冲突的问题
    什么是跨域?以及如何解决跨域问题?
  • 原文地址:https://www.cnblogs.com/psyduck/p/14012462.html
Copyright © 2011-2022 走看看