docker-compose官方示例

docker-compose是一种docker的编排工具,能够对docker的镜像一键下载,启动并且自动配置网络,功能在如下示例中进行展示
官方示例地址
新建文件夹,示例将会在文件夹中进行展示。

 mkdir composetest
 cd composetest

新建一个app.py文件

vim 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文件,内容如下:

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

新建docker-compose.yml文件,内容如下:

version: "3.9"
services:
  web:
    build: .
    ports:
      - "5000:5000"
  redis:
    image: "redis:alpine"

这样,建立起来了四个我们工程所需要的四个文件,在本目录下启动

docker-compose up

访问ip:5000地址
在这里插入图片描述
在这里插入图片描述
每次访问都会自动加1,来记录客户端的访问次数。
查看镜像

docker images

发现,自动下载完成了三个镜像
在这里插入图片描述
观察启动的容器,如下图所示,可以知道自动启动了redis与web两个容器。
在这里插入图片描述

观察网络,发现自动配置出一个composetest_default的自定义网络。
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值