docker-compose练习
一、首先安装docker-compose
推荐使用daocloud给的加速进行安装,否则会遇到各种问题,我踩过坑:
curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
可以根据自己的对应的compose版本进行修改url中的版本
二、安装完后构建一个python文件:命名为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)
if __name__ =='__main__':
app.run(host='0.0.0.0',debug=True)
三、构建一个Dockerfile,
vim Dockerfile
FROM python:3.6-alpine
ADD . /code
WORKDIR /code
RUN pip install redis flask
CMD ["python","app.py"]
指定python版本为3.6轻量级别的,新增运行目录为 /code 安装依赖的redis flask 执行命令为 python app.py
四、构建docker-compose.yml文件
version: '3'
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
redis:
image: "redis:alpine"
注意缩进
文件构建完成后,docker-compose up,会默认去执行 docker-compose.yml文件
在浏览器中执行 http://0.0.0.0:5000