📜  Docker Compose

📅  最后修改于: 2020-12-31 14:43:31             🧑  作者: Mango

Docker撰写

它是一个用于通过单个命令创建和启动Docker应用程序的工具。我们可以使用它来归档以配置我们的应用程序的服务。

它是用于开发,测试和登台环境的出色工具。

它提供以下命令来管理应用程序的整个生命周期。

  • 启动,停止和重建服务
  • 查看正在运行的服务的状态
  • 流运行服务的日志输出
  • 对服务运行一次性命令

要实现撰写,它包括以下步骤。

  • 将应用程序环境变量放在Dockerfile中以公开访问。
  • 在docker-compose.yml文件中提供服务名称,以便它们可以在隔离的环境中一起运行。
  • 运行docker-compose up,Compose将启动并运行您的整个应用程序。

典型的docker-compose.yml文件具有以下格式和参数。

// docker-compose.yml

version: '3'
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
- logvolume01:/var/log
links:
- redis
redis:
image: redis
volumes:
logvolume01: {}

安装Docker Compose

以下是在Linux Ubuntu中安装Docker Compose的说明。

curl -L https://github.com/docker/compose/releases/download/1.12.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

Docker-compose版本

$ docker-compose --version

它说,允许被拒绝。因此,使文件可执行。

$ sudo chmod +x /usr/local/bin/docker-compose

现在,再次检查版本。

$ docker-compose ?version

使用Docker Compose运行应用程序

请遵循以下示例

1)创建目录

$ mkdir docker-compose-example
$ cd docker-composer-example

2)创建一个文件app.py。

// app.py

from flask import Flask
from redis import Redis
app = Flask(__name__)
redis = Redis(host='redis', port=6379)
@app.route('/')
def hello():
count = redis.incr('hits')
return 'Hello World! I have been seen {} times.\n'.format(count)
if __name__ == "__main__":
app.run(host="0.0.0.0", debug=True)

3)创建一个文件requirements.txt。

// requirements.txt

flask
redis

4)创建一个Dockerfile。

// Dockerfile

FROM python:3.4-alpine
ADD . /code
WORKDIR /code
RUN pip install -r requirements.txt
CMD ["python", "app.py"]

5)创建一个撰写文件。

// docker-compose.yml

version: '2'
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
redis:
image: "redis:alpine"

6)使用Compose构建和运行Docker App

$ docker-compose up 

运行上面的命令后,它显示以下输出。


现在,我们可以通过运行http url来查看输出。

输出:

每次,当我们刷新页面时。它显示计数器增加1。