zoukankan      html  css  js  c++  java
  • Docker Compose

    在 Docker 节点上,以单引擎模式(Single-Engine Mode)进行多容器应用的部署和管理。通过一个声明式的配置文件描述整个应用,从而使用一条命令完成部署。

    解析基于一个 YAML 文件定义多容器应用。

    查看版本:

    docker-compose --version

    如何定义:

    YAML文件来定义多服务的应用。YAML 是 JSON 的一个子集,因此也可以使用 JSON。

    YAML 文件包含四个一级Key

    version:version 是必须指定的,而且总是位于文件的第一行。

    services:用于定义不同的应用服务,Docker Compose 会将每个服务部署在各自的容器中(Docker Compose 会将每个服务部署为一个容器,并且会使用服务名 key 作为容器名字的一部分)

    networks:用于指引 Docker 创建新的网络。默认情况下,Docker Compose 会创建 bridge 网络(这是一种单主机网络,只能够实现同一主机上容器的连接)多个服务都连接到 counter-net 网络,因此它们可以通过名称解析到对方的地址。

    volumes:用于指引 Docker 来创建新的卷

    二级服务定义中包含如下指令:

    (1)build 指定 Docker 基于当前目录(.)下 Dockerfile 中定义的指令来构建一个新镜像。该镜像会被用于启动该服务的容器

    (2)command 执行的命令

    (3)ports 指定 Docker 将容器内(-target)的 80 端口映射到主机(published)的 8080 端口

    (4)volumes 指定 Docker 将 xxx 卷(source:)挂载到容器内的 /code(target:)

    (5)image 镜像会被从 Docker Hub 上拉取下来,基于指定镜像生成容器

    启动一个 Compose 应用

    docker-compose up  # 命令默认会查找  docker-compose.yml 或者 docker-compose.yaml。如果 Compose 文件是其他文件名,则需要通过 -f 参数来指定
    

      

    停止一个 Compose 应用

     docker-compose down / stop(停止但不删除)
    

      

    注意:创建的卷并没有删除。docker volume ls 可见该卷依然存在于系统中

    查看应用的状态

    docker-compose ps 
    

      

    删除相关容器和网络(不会删除卷和镜像)

    docker-compose rm
    

      

    compose 重启

    docker-compose restart
    

      

    举例:

    一个简单的应用示例,可能由4个服务构成,将这几个服务组织在一起就是一个应用

    • Web前端
    • 订单管理
    • 品类管理
    • 后台数据库
  • 相关阅读:
    新概念第二册(1)--英语口语听力课1
    外企面试课程(一)---熟悉常见的缩略词
    公司 邮件 翻译 培训 长难句 结课
    workflow
    公司 邮件 翻译 培训 长难句 20
    公司 邮件 翻译 培训 长难句 19
    Engineering Management
    公司 邮件 翻译 培训 长难句 18
    公司 邮件 翻译 培训 长难句 17
    第14.5节 利用浏览器获取的http信息构造Python网页访问的http请求头
  • 原文地址:https://www.cnblogs.com/winyh/p/14193689.html
Copyright © 2011-2022 走看看