加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > 正文

云计算核心技术Docker教程: Compose使用

发布时间:2020-07-16 16:17:20 所属栏目:创业 来源:站长网
导读:Compose 是用于界说和运行多容器 Docker 应用措施的器材。通过 Compose,您可以行使 YML 文件来设置应用措施必要的全部处事。然后,行使一个呼吁,就可以从 YML 文件设置中建设并启动全部处事。 Compose 行使的三个步调: 1.行使 Dockerfile 界说应用措施

Compose 是用于界说和运行多容器 Docker 应用措施的器材。通过 Compose,您可以行使 YML 文件来设置应用措施必要的全部处事。然后,行使一个呼吁,就可以从 YML 文件设置中建设并启动全部处事。

Compose 行使的三个步调:

1.行使 Dockerfile 界说应用措施的情形。

2.行使 docker-compose.yml 界说组成应用措施的处事,这样它们可以在断绝情形中一路运行。

3.最后,执行 docker-compose up 呼吁来启动并运行整个应用措施。

运行以下呼吁以下载 Docker Compose 的当前不变版本:

$ sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

将可执行权限应用于二进制文件:

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

建设软链:

$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

测试是否安装乐成:

$ docker-compose --version

cker-compose version 1.24.1, build 4667896b

行使示例:

建设一个测试目次:呼吁如下

$ mkdir composetest

$ cd composetest

在测试目次中建设一个名为 app.py 的文件,该文件redis 是应用措施收集上的 redis 容器的主机名,该主机行使的端口为 6379。

在 composetest 目次中建设另一个名为 requirements.txt 的文件,内容如下:

flask

redis

在 composetest 目次中,建设一个名为的文件 Dockerfile,内容如下:

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

COPY . .

CMD ["flask", "run"]

Dockerfile 内容表明:

FROM python:3.7-alpine: 从 Python 3.7 映像开始构建镜像。

WORKDIR /code: 将事变目次配置为 /code。

ENV FLASK_APP app.py

ENV FLASK_RUN_HOST 0.0.0.0

配置 flask 呼吁行使的情形变量。

RUN apk add --no-cache gcc musl-dev linux-headers: 安装 gcc,以便诸如 MarkupSafe 和 SQLAlchemy 之类的 Python 包可以编译加快。

COPY requirements.txt requirements.txt

RUN pip install -r requirements.txt

复制 requirements.txt 并安装 Python 依靠项。

COPY . .: 将 . 项目中的当前目次复制到 . 镜像中的事变目次。

CMD ["flask", "run"]: 容器提供默认的执行呼吁为:flask run。

在测试目次中建设一个名为 docker-compose.yml 的文件,然后粘贴以下内容:

# yaml 设置

version: '3'

services:

   web:

      build: .

      ports:

         - "5000:5000"

   redis:

      image: "redis:alpine"

该 Compose 文件界说了两个处事:web 和 redis。

web:该 web 处事行使从 Dockerfile 当前目次中构建的镜像。然后,它将容器和主机绑定到袒露的端口 5000。此示例处事行使 Flask Web 处事器的默认端口 5000 。

redis:该 redis 处事行使 Docker Hub 的民众 Redis 映像。

在测试目次中,执行以下呼吁来启动应用措施:

# docker-compose up

假如你想在靠山执行该处事可以加上 -d 参数:

# docker-compose up -d

相干阅读:

云计较焦点技能Docker教程: Dockerfile指令详解

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读