Docker Compose

Compose简介

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

Compose 使用的三个步骤:

  • 使用 Dockerfile 定义应用程序的环境。

  • 使用 docker-compose.yml 定义构成应用程序的服务,这样它们可以在隔离环境中一起运行。

  • 最后,执行 docker-compose up 命令来启动并运行整个应用程序

安装Compose

1、下载compose,保存路径:/usr/local/bin/

#从GitHub下载

curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

2、给下载的文件添加执行权限

 

3、 检测是否下载成功

测试官网实列

实例地址:https://docs.docker.com/compose/gettingstarted/

1、home目录下创建一个文件夹composetest

mkdir   composetest

cd   composetest

2、在composetest文件夹新建app.py文件

vim   app.py

#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)

3、在composetest文件夹新建Dockerfile文件

vim Dockerfile

#Dockerfile内容

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"]

4、在composetest文件夹新建requirements文件

vim   requirements

#requirements内容

flask
redis

5、在composetest文件夹新建docker-compose.yml文件

docker-compose.yml定义了两个容器。

web容器:

  • 使用当前docker-compose.yml文件所在目录中的Dockerfile构建映像。 
  • 将容器上的暴露端口8000映射到主机上的端口5000。 我们使用Flask Web服务器的默认端口5000。 

redit容器:

  • redis服务使用从Docker Hub提取的官方redis镜像

vim  docker-compose.yml

#docker-compose.yml内容

version: '3'
services:
  web:
    build: .
    ports:
      - "8000:5000"
  redis:
    image: "redis:alpine"

6、启动compose项目

docker-compose  up

 

测试:

每访问一次,都会输出访问次数。

 整体流程:

1、创建网络

2、执行Docker-compose.yaml

3、启动服务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值