Docker Compose安装和简单使用

参照官方文档
1,运行以下命令下载 Docker Compose 的当前稳定版本:
在这里插入图片描述

https://github.com/docker/compose/releases/download/v2.4.1/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

$HOME此命令在目录下为活动用户安装 Compose 。要为系统上的所有用户安装 Docker Compose,请替换~/.docker/cli-plugins为/usr/local/lib/docker/cli-plugins.

要安装不同版本的 Compose,请替换v2.4.1 为您要使用的 Compose 版本。

2,对二进制文件应用可执行权限:

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

或者如果您选择为所有用户安装 Compose

 sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose

3,测试安装

docker compose version

在这里插入图片描述
4,为项目创建一个目录:

mkdir composetest
cd composetest

5,在项目目录中创建一个名为的文件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)

在此示例中,redis是应用程序网络上的 redis 容器的主机名。我们使用 Redis 的默认端口,6379.

4,在您的项目目录中创建另一个名为的文件requirements.txt并将其粘贴到:

flask
redis

5,创建 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"]

这告诉 Docker:

从 Python 3.7 映像开始构建映像。
将工作目录设置为/code.
设置命令使用的环境变量flask。
安装 gcc 和其他依赖项
复制requirements.txt并安装 Python 依赖项。
向镜像添加元数据以描述容器正在侦听端口 5000
将项目中的当前目录复制.到镜像中的workdir .。
将容器的默认命令设置为flask run.

6,在 Compose 文件中定义服务,在您的项目目录中创建一个名为的文件docker-compose.yml并粘贴以下内容

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

这个 Compose 文件定义了两个服务:web和redis.

7,使用 Compose 构建并运行您的应用程序,

 docker-compose up

在这里插入图片描述

8,访问,会统计访问次数

curl http://172.18.0.3:5000

在这里插入图片描述
9,关闭和清理
该命令docker-compose down会删除容器和默认网络,但会保留您的 WordPress 数据库。

该命令docker-compose down --volumes删除容器、默认网络和 WordPress 数据库。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值