Docker-Compose

1.Docker-Compose的简介:

Docker-Compose 是用来管理容器的,类似用户容器管家,我们有N多台容器或者应用需要启动的时候,如果手动去操作,是非常耗费时间的,如果有了 Docker-Compose 只需要一个配置文件就可以帮我们搞定,但是 Docker-Compose 只能管理当前主机上的 Docker,不能去管理其他服务器上的服务。意思就是单机环境。docker-compose是基于docker的编排工具,使容器的操作能够批量的,可视的执行,是一个管理多个容器的工具,比如可以解决容器之间的依赖关系,当在宿主机启动较多的容器时候,如果都是手动操作会觉得比较麻烦而且容器出错,这个时候推荐使用 dockerd的单机编排工具 docker-compose。

2.什么是Docker-Compose

  docker-compose是基于docker的开源项目,托管于github上,由python实现,调用 docker服务的API负责实现对docker容器集群的快速编排,即通过一个单独的yaml文件,来定义一组相关的容器来为一个项目服务。

  所以,docker-compose默认的管理对象是项目,通过子命令的方式对项目中的一组容器进行生命周期的管理。

3.安装docker-compose

docker-compose通常是寄托在给girhub上的,GitHub是国外的网站,想要从上上面去下载资源的话是非常的缓慢的,所以以下的话安装的国内的镜像

curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

#查看版本:docker-compose version

#授权:chmod +x /usr/local/bin/docker-compose 

4.构建

4.1.先创建一个目录

mkdir composetest

4.2.进入带这个目录下

cd  composetest

4.3.接下来创建一个文件

vim app.py

4.4.输入一下内容

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)

4.5.再创建一个文件

vim requirements.txt

输入

flask

redis

4.6.再创建一个docker file(这里没有使用官方的Dockerfile文件,官方的Dockerfile要远程下载文件,过程比较缓慢)

vim Dockerfile

输入

# syntax=docker/dockerfile:1

FROM python:3.6-alpine

ADD     ./code

WORKDIR /code

RUN pip install -r requirements.txt

CMD ["python", "app.py"]

4.7.再创建一个yml文件,vim docker-compose.yml

输入:

version: "3.3"

services:

  web:

    build: .

    ports:

      - "5000:5000"

  redis:

image: "redis:alpine"

5.使用compose构建并且运行自己的应用程序

docker-compose up

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值