栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Compose简介、安装与测试

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Compose简介、安装与测试

Compose简介

Compose项目是Docker官方的开源项目,负责实现对基于Docker容器的多应用服务的快速编排。从功能上看,跟OpenStack中的Heat十分类似。其代码目前在https://github.com/docker/compose上开源。

Compose定位是"定义和运行多个Docker容器的应用",其前身是开源项目Fig,目前仍然兼容Fig格式的模板文件。

它允许用户通过一个单独的docker-compose.yml模板文件来定义一组相关联的应用容器为一个服务栈。

概念:

任务(task):一个容器被称为一个任务。任务拥有独一无二的ID,在同一个服务中的多个任务序号依次递增。

服务(service):某个相同应用镜像的容器副本集合,一个服务可以横向扩展为多个容器实例。

服务栈(stack):由多个服务组成,互相配合完成特定业务,如Web应用服务、数据库服务共同构成Web服务栈,一般由一个docker-compose.yml文件定义。

Compose的默认管理对象是服务栈,通过子命令对栈中的多个服务进行便捷的声明周期管理。

Compose项目由Python编写,实现上调用了Docker服务提供的API来对容器进行管理。因此,只要所操作的平台支持Docker API,就可以在其上利用Compose来进行编排管理。

安装

安装 Docker Compose 可以通过下面命令自动下载适应版本的 Compose,并为安装脚本添加执行权限

sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

验证:

docker-compose -v
测试
    创建文件夹
$ mkdir composetest
$ cd composetest
    创建app.py应用
import time

import redis
from flask import Flask

app = Flask(__name__)
cache = redis.Redis(host='redis', port=6379)

def get_hit_count():
    retries = 5
    while True:
        try:
            return cache.incr('hits')
        except redis.exceptions.ConnectionError as exc:
            if retries == 0:
                raise exc
            retries -= 1
            time.sleep(0.5)

@app.route('/')
def hello():
    count = get_hit_count()
    return 'Hello World! I have been seen {} times.n'.format(count)
    创建依赖文件requirements.txt
flask
redis
    创建Dockerfile
# syntax=docker/dockerfile:1
FROM python:3.7-alpine
WORKDIR /code
ENV FLASK_APP=app.py
ENV FLASK_RUN_HOST=0.0.0.0
RUN apk add --no-cache gcc musl-dev linux-headers
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt
EXPOSE 5000
COPY . .
CMD ["flask", "run"]
    定义compose配置文件docker-compose.yml
version: "3.9"
services:
  web:
    build: .
    ports:
      - "5000:5000"
  redis:
    image: "redis:alpine"
    构建并运行
docker-compose up
    测试

    停止
docker-compose down
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/724928.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号