加入收藏 | 设为首页 | 会员中心 | 我要投稿 盐城站长网 (https://www.0515zz.cn/)- 运维、云管理、管理运维、智能数字人、AI硬件!
当前位置: 首页 > 云计算 > 正文

云计算核心技术Docker教程:Compose操作

发布时间:2021-11-28 12:18: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 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

(编辑:盐城站长网)

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

    热点阅读