Docker-Compose初识

Compose 是一个用于定义并运行多容器Docker应用的工具。先通过一个compose文件来配置你的应用服务,然后用一个简单的命令就可以创建并启动所有的应用服务了。

Compose的特性:

  • 单主机多个隔离环境
    Compose 使用项目名称来隔离各个环境。在不同的应用场景中使用这个特性:
    • 在开发机上,可以创建同一个环境的不同副本
    • 在CI服务器上,可以设置项目名为一个唯一的build ID,从而避免build时互相干扰
    • 在一个共享主机或开发机上,可能会存在相同服务名称的应用,通过这个特性可以避免互相干扰
      默认的项目名称是项目目录的目录名,可以通过-p命令行选项或者COMPOSE_PROJECT_NAME指定。
  • 保存容器创建时使用的卷(volumn)数据
  • 只重新创建已更改的容器
    Compose会缓存用于创建容器的配置,当重启一个未曾更改过的服务时,Compose会重用已存在的容器。这意味着你可以很快地改变你的环境。
  • 支持变量,在不同的环境间定义不同的组合

使用Compose 基本上分为三个步骤

  1. 创建Compose file(docker-compose.yml),定义的你应用环境
  2. 定义组成你应用的所有服务
  3. 运行命令docker-compose up

一个docker-compose.yml文件示例如下:

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

Compose的命令贯穿你应用的整个生命周期:

  • 启动、停止、重建服务
  • 查看运行中服务的状态
  • 运行中服务的日志输出流
  • 在一个服务上执行一次性命令

你可能感兴趣的:(Docker-Compose初识)