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

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指令详解

分享名称:云计算核心技术Docker教程:Compose使用
标题路径:https://www.cdcxhl.com/article30/cgjcpo.html

成都网站建设公司_创新互联,为您提供搜索引擎优化网站排名定制网站微信公众号定制开发网站内链

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都定制网站网页设计