标签:web compose redis 介绍 Compose docker 安装 your
一,介绍
- 前面我们使用 Docker 的时候,定义 Dockerfile 文件,然后使用 docker build、docker run 等命令操作容器。然而微服务架构的应用系统一般包含若干个微服务,每个微服务一般都会部署多个实例,如果每个微服务都要手动启停,那么效率之低,维护量之大可想而知
- 使用 Docker Compose 可以轻松、高效的管理容器,它是一个用于定义和运行多容器 Docker 的应用程序工具
理解: Compose是Docker官方的开源项目,需要安装! 通过Dockerfile让程序运行在任何地方
A docker-compose.yml
looks like this:
version: "3.9" # optional since v1.27.0
services:
web:
build: .
ports:
- "8000:5000"
volumes:
- .:/code
- logvolume01:/var/log
links:
- redis
redis:
image: redis
volumes:
logvolume01: {}
Compose重要概念:
(1)服务services,就是容器,应用 (web、redis 、mysql……)
(2)项目project,就是一组关联的容器,如博客,有web和mysql
二,安装
1、下载
官方文档(这个有点慢)
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
推荐使用这个:
curl -L https://get.daocloud.io/docker/compose/releases/download/1.26.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
2、授权
sudo chmod +x /usr/local/bin/docker-compose
可以看到版本就说明安装成功!
三,体验 1、Get started 官网地址:https://docs.docker.com/compose/gettingstarted/
Step 1: Setup
(1)Create a directory for the project:
mkdir composetest
cd composetest
(2)Create a file called app.py
in your project directory and paste this in:
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)Create another file called requirements.txt
in your project directory and paste this in:
flask
redis