Docker笔记之DockerCompose+yaml详解

这篇具有很好参考价值的文章主要介绍了Docker笔记之DockerCompose+yaml详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

如果你还不了解 YML 文件配置,可以先阅读 YAML 入门教程。
Compose 使用的步骤:

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

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

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

docker-Compose.yaml

yaml配置:

version: '3'
services:
  web:
    build: .
    ports:
   - "5000:5000"
    volumes:
   - .:/code
    - logvolume01:/var/log
    links:
   - redis
  redis:
    image: redis
volumes:
  logvolume01: {}
使用

 1.准备

创建一个测试目录

mkdir composetest

 cd composetest

在测试目录中创建一个名为app.py文件代码

import time
import redis
from flask import Flask

app = Flask(__name__)
cache = redis.Redis(host='redis', port=6379)

def get_hit_count():
    retries = 5
    while True:
        try:
            return cache.incr('hits')
        except redis.exceptions.Co3ectionError as exc:
            if retries == 0:
                raise excr
            retries -= 1
            time.sleep(0.5)

@app.route('/')
def hello():
    count = get_hit_count()
    return 'Hello World! I have been seen {} times.\n'.format(count)

在此示例中,redis 是应用程序网络上的 redis 容器的主机名,该主机使用的端口为 6379。

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

flask
redis

2、创建 Dockerfile 文件
在 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。

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

docker-compose.yml 配置文件文章来源地址https://www.toymoban.com/news/detail-595749.html

<

到了这里,关于Docker笔记之DockerCompose+yaml详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【云原生|Docker】13-Docker-compose详解

    ​ 前面我们在说Dokcer Harbor企业级仓库管理的时候,我们使用的就是docker-compose来启动相应的容器的,Docker-compose作为一款单机编排工具在工作中使用的还是非常多的;这一章我们将一起探讨下docker-compose的使用。 ​ Docker Compose是一个定义和运行多容器应用的单机编排工具。通

    2023年04月17日
    浏览(42)
  • 【docker】docker-compose.yml 语法详解

    前面讲过Docker Compose的概念,如何安装、以及常用指令等。 这里重点介绍Docker Compose的语法,如何写一个正确的docker-compose.yml文件。 我们知道 docker-compose 指令(比如 docker-compose up 等)是运行它的脚本文件docker-compose.yml,那么docker-compose.yml内部到底有哪些语法要求呢! 【doc

    2024年01月21日
    浏览(53)
  • docker-compose容器编排使用详解+示例

    Docker-Compose是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。 Compose 是 Docker 公司推出的一个工具软件,可以管理多个 Docker 容器组成一个应用。你需要定义一个 YAML 格式的配置文件docker-compose.yml,写好多个容器之间的调用关系。然后,只要一个命令,就能同时启

    2023年04月22日
    浏览(42)
  • Docker-compose详解和LNMP搭建实战

    目录  一、Docker-compose简介 1.前言 2.概述 二、Docker-compose安装 安装源获取 安装包下载 三、YAML文件格式及编写注意事项 1.简介 2.使用方法 四、Docker Compose 常用命令 五、Docker Compose 配置常用字段 六、Docker-compose搭建LNMP实战         我们知道使用一个Dockerfile模板文件可以定

    2024年02月12日
    浏览(43)
  • 尚硅谷Docker实战教程-笔记12【高级篇,Docker-compose容器编排】

    尚硅谷大数据技术-教程-学习路线-笔记汇总表【课程资料下载】 视频地址:尚硅谷Docker实战教程(docker教程天花板)_哔哩哔哩_bilibili 尚硅谷Docker实战教程-笔记01【基础篇,Docker理念简介、官网介绍、平台入门图解、平台架构图解】 尚硅谷Docker实战教程-笔记02【基础篇,Do

    2024年02月16日
    浏览(46)
  • Docker部署RocketMQ5.x (单机部署+配置参数详解+不使用docker-compose直接部署)

    官网地址:https://rocketmq.apache.org/ 镜像地址: https://hub.docker.com/r/apache/rocketmq/tags 我在部署的时候最新发行版是5.1.0可以根据需求自行选择一个5.x的版本,部署流程不会有太大改变。 NameServer是一个简单的 Topic 路由注册中心,支持 Topic、Broker 的动态注册与发现,几乎无状态节点

    2024年02月06日
    浏览(72)
  • 使用docker-compose部署RocketMQ5.x 单机部署+配置参数详解

    提前先拉取需要的镜像文件,避免后面部署的时候出现镜像拉取失败的问题。 镜像地址: https://hub.docker.com/r/apache/rocketmq/tags 我在部署的时候最新发行版是5.1.0可以根据需求自行选择一个5.x的版本,部署流程不会有太大改变。 拉取最新版即可 这里使用compose v2版本 1、下载(使

    2024年02月08日
    浏览(49)
  • 【六祎 - Docker】Docker-compose;什么是Docker-compose

    从 2023 年 6 月底开始,Compose V1 将不再受支持,并将从所有 Docker Desktop 版本中删除。 确保使用 docker compose CLI 插件或通过激活 Docker Desktop 中的 Use Docker Compose V2 设置切换到 Compose V2。有关详细信息,请参阅 Compose 的演变。 Compose 是一个用于定义和运行多容器 Docker 应用程序的工

    2023年04月21日
    浏览(49)
  • 【docker】 docker-compose如何更新services镜像 | docker-compose如何更新某个镜像 | docker-compose如何重启某个服务

    更新镜像: 首先,确保你已经获取了最新的镜像版本。这可以通过 docker pull 命令来实现,或者直接使用 docker-compose pull 命令更新所有服务的镜像。 拉取 指定 镜像 - 代码如下: 拉取 所有 镜像 - 代码如下: 注意:在拉取更新的镜像后,docker-compose不会自动重新启动服务。你需要

    2024年02月06日
    浏览(44)
  • Docker Compose Yaml(Yml)

    Docker Hub mysql 镜像 Mongo镜像 mongo默认是没有用户的,可以进行配置 首先创建宿主机挂载目录(选择性进行配置) 1、docker启动  1)、使用docker启动 2)、使用docker compose启动  2、创建用户和库 首先了解mongo角色权限 role 作用 read 允许用户读取指定数据库 readWrite 允许用户读写

    2024年02月09日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包