云计算核心技术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指令详解 (编辑:河北网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |