Docker Compose

1 - Docker Compose概述

1、Docker Compose 官方介绍

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

要了解有关Compose的所有功能的更多信息,请参阅功能列表

  Compose可在所有环境中工作:生产,登台,开发,测试以及CI工作流。您可以在“常见用例”中了解有关每种情况的更多信息。

使用Compose基本上是一个三步过程

  1. 使用定义您的应用环境,Dockerfile以便可以在任何地方复制。

  2. 定义组成应用程序的服务,docker-compose.yml 以便它们可以在隔离的环境中一起运行。

  3. Run docker-compose up and Compose启动并运行您的整个应用程序。

总结:Compose实现批量容器编排!

Compose 是Docker官方开源项目,需要安装!Dockerfile让程序在任何地方运行。web服务,redis,mysql,nginx ... 多个容器。

2、docker-compose.yml文件举例

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

 

Compose两个重要的概念:

  1、服务services:容器、应用。如mysql,web,redis等

  2、项目project:一组关联的容器

2 - Docker Compose 的安装与第一个实例

1、官方安装帮助文档:https://docs.docker.com/compose/install/

2、下载

# 下载指令(官方提供的可能非常慢),建议使用国内的下载地址
sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 这个可能块一点
curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

3、授权

sudo chmod +x /usr/local/bin/docker-compose

4、查看是否安装成功

5、compose 快速入门第一个案例

  官方文档写的已经很清楚了,只需一步步按照文档来就可以了

  https://docs.docker.com/compose/gettingstarted/

  项目部署顺序梳理(python应用,计数器,Redis):

    1、应用app.py

    2、Dockerfile 应用打包为镜像

    3、docker-compose yaml 文件(定义整个服务,需要的环境,web,redis)。完整的上线服务。

    4、启动compose 项目(docker-compose up)

[root@VM-0-17-centos /]# docker service ls
Error response from daemon: This node is not a swarm manager. Use "docker swarm init" or "docker swarm join" to connect this node to swarm and try again.

默认的服务名:文件名_服务名_num

多个服务器,集群 A B _num(副本数量)

服务redis服务 ==> 4个副本

集群状态,服务都不可能只有一个运行实例,弹性 10 HA 高并发

负载均衡

Docker Compose 总结:

  以前都是单个,docker run 启动容器

  docker-compose,通过docker-compose编写yaml配置文件,可以通过compose 一键 启动/停止 所有服务

  1、Docker镜像。 run =>容器

  2、DockerFile 构建镜像(服务打包)

  3、docker-compose 启动项目(编排、多个微服务/环境)

  4、Docker 网络

3 - yaml 规则

1、docker-compose.yml compose的核心!

  官方文档参考书

  https://docs.docker.com/compose/compose-file/#compose-file-structure-and-examples

# 3层 !
version:' ' # 版本
services:' ' # 服务
    服务1:web
        # 服务配置
        images
        build
        network
        volume
        ......
    服务2:redis
    服务3:tomcat
# 其他配置  网络/卷  全局规则等
volume:
network:
configs:

4 - Compose实战

1、一键部署WP博客、官方示例

  https://docs.docker.com/compose/wordpress/

2、部署微服务项目

  1、编写微服务项目

  2、Dockerfile 构建镜像

  3、docker-compose.yml 编排项目

  4、打包到服务里,并使用 docker-compose up 启动项目

  5、测试

3、小结

  未来项目只要有 docker-compose.yml 文件,按照这个规则,启动编排的容器。

posted @ 2020-10-07 10:01  赖正华  阅读(123)  评论(0编辑  收藏  举报