当您看到这里的时候,您应该具备直接从官方文档获取您想要的答案;建议这个笔记只当作学习路线和官方网址查询(部分官方文档太过隐蔽);或者上不去官网
快速开始
安装Docker Compose
将这个文件复制到 /usr/local/bin 目录下或者使用下面curl下载文件都行,二选一;最后都要执行下面的二进制文件配置权限操作;
# 从git_hub下载docker compose文件(因为已知原因导致下载缓慢)
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 对二进制文件配置权限
sudo chmod +x /usr/local/bin/docker-compose
# 检查版本号
docker-compose -v
使用compose
1、配置compose依赖项
# 新建一个python文件
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)
依赖包
# 新建文件
vim requirements.txt
flask
redis
2、Dockerfile文件
# 新建Dockerfile文件
vim 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"]
3、在Compose文件中定义服务
# 新建compose文件
vim docker-compose.yml
version: "3.9"
services:
web:
build: .
ports:
- "5000:5000"
redis:
image: "redis:alpine"
检查文件
# 这个不是数字1,是字母L的小写!!!
ll
到现在为止,一个python应用程序,一个docker-compose配置文件,一个Dockerfile文件,一个依赖目录
注意:所有compose命令需要在docker-compose.yml配置文件所在目录进行
使用compose启动整个项目(python+redis)
docker-compose up -d
# 启动时间可能会很漫长
访问5000端口
compose关闭服务