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

2020-07-13 21:26:58    新闻来源:本站

  Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。

  Compose 使用的三个步骤:

  1。使用 Dockerfile 定义应用程序的环境。

  2。使用 docker-compose。yml 定义构成应用程序的服务,这样它们可以在隔离环境中一起运行。

  3。最后,执行 docker-compose up 命令来启动并运行整个应用程序。

  运行以下命令以下载 Docker Compose 的当前稳定版本:

  $ sudo curl -L (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指令详解

本站所刊登的各种新闻﹑信息和各种专题专栏资料,均为湖南热线版权所有,未经协议授权禁止下载使用。
Copyright © 2000-2020 www.010xww.com All Rights Reserved
编辑QQ:123456789