美文网首页
docker-compose 源码分析

docker-compose 源码分析

作者: 走在成长的道路上 | 来源:发表于2018-10-23 15:28 被阅读0次

    最近搞 devops 相关的内容,将机房的机器集中起来,方便服务部署,算力集中管理等。在 k8s 等都基本搭建完毕之后,闲暇时间学习下 docker-compose 工作原理。

    环境准备

    下载 compose 源码, 当前最新版本是 1.23.0

    $ git clone https://github.com/docker/compose
    

    然后通过 pycharm 导入到项目

    架构图

    docker-compose 架构图.jpg

    在 docker-compose 中使用 docker api 的方式来驱动 dockerd, 如上图所示,所有内容均在 Container 中对 docker 常见操作进行封装。然后在 Project / Service 对象中进行调用

    执行流程

    1. 执行 docker-compose 命令时,进入到程序主入口 main() 函数
    2. 在 main() 函数中调用 dispatch() 函数进行将命令转换为 可执行的对象

    a. 构建 DocoptDispatcher 对象, 并解析相关参数置功能基础信息内容
    b. 创建 Project 对象,并链接相应的 docker client api
    c. 创建 TopLevelCommand 对象,并解析相关的参数配置

    1. 执行指令内容

    相关文章

      网友评论

          本文标题:docker-compose 源码分析

          本文链接:https://www.haomeiwen.com/subject/ntnozftx.html