Docker Compose 入门参考

Docker Compose 入门参考

1.概述

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

Compose 在软件所有研发阶段都可以使用:生产环境、阶段验证,开发环境,测试,包括CI持续集成工作流程中。

使用Compose基本上有三个步骤:

  • 1.用Dockerfile定义应用程序的环境,这样它就可以在任何地方部署
  • 2.在docker-compose.yml中定义组成应用程序的服务,这样它们就可以在一个独立的环境中一起运行
  • 3.运行docker-compose up和Compose启动并运行整个应用程序

Compose包含用于管理应用程序的整个生命周期的命令:

  • 启动、停止和重新构建服务
  • 查看正在运行的服务的状态
  • 对正在运行的服务的日志输出进行流处理
  • 在服务上运行一次性命令

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


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

1.1 Docker Compose 应用场景

Docker Compose可以应用于多不同的场景,下面概述了一些常见应用场景。

开发环境

在开发软件时,在独立环境中运行应用程序并具有控制管理能力是至关重要的。可以使用Compose命令行工具创建环境并进行控制管理。

Compose文件提供了一种记录和配置应用程序的所有服务依赖项(数据库、消息队列、缓存、WEB服务API等)的方法。使用Compose命令行工具,您可以使用单个命令为每个依赖项创建和启动一个或多个容器(docker-compose up)。

这些特性一起为开发人员开始项目提供了一种方便的方式。Compose可以将多页的“开发人员入门指南”简化为单个机器可读的Compose文件和少许命令。

自动化测试环境

任何CD持续部署或CI持续集成过程的一个重要部分是自动化测试套件。自动化的端到端测试需要一个运行测试的环境。Compose为您的测试套件创建和销毁隔离的测试环境提供了一种方便的方法。通过在一个Compose文件中定义完整的环境,您可以创建和销毁这些环境,只需几个命令:


$ docker-compose up -d
$ ./run_tests
$ docker-compose down

单节点部署环境

一般情况Compose主要于开发和测试工作流。可以使用Compose将其部署到远程Docker引擎。Docker引擎可以是单个实例的Docker Machine,也可以是整个Docker Swarm集群。

2.安装Docker Compose

Docker Compose 能够在macOS, Windows, and 64-bit Linux上运行

2.1 安装先决条件

Docker Compose依赖于Docker Engine来完成任何的工作,因此请确保在本地或远程安装了Docker Engine,这取决于你的机器设置环境。

  • 在像Mac和Windows的Docker desktop这样的桌面系统中,Docker Compose已经包含在其中。

  • 在Linux系统上,首先按照Get Docker页面上的描述为您的操作系统安装Docker引擎,然后回到这里了解如何在Linux系统上安装Compose。

  • 若要以非根用户身份运行Compose,请参见以非根用户身份管理Docker。

3.Docker Compose 环境变量

Compose有多个部分处理环境变量

在Compose文件中使用变量

在Compose文件中使用环境变量

web:
  image: "webapp
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值