zoukankan      html  css  js  c++  java
  • docker~docker-compose和VS解决方案的关系

    回到目录

    一般地,我们在VS里添加了一个解决方案之后,会更新模块或者业务添加多个api,web项目,这类似于最近说的微服务,而我们的docker-compose与微软件正好有了一种默契,当你为你的解决方案添加docker支持之后,你会发布有个docker-compose出现了,它会把所有可以发布的项目都集成起来,进行管理,然后可以让你一键发布你的一批镜像,这里我们叫它"服务",这个服务我们可以删除,停止,运行它,非常方便!

    1. docker-compose和VS解决方案的关系
    2. docker-compose和VS与项目的关系
    3. Dockerfile与VS项目的关系
    4. docker-compose和Dockerfile的关系

    大叔对docker-compose的认识

    docker-compose和VS解决方案的关系

    一个解决方案对应一个docker-compose项目,它由docker-compose.yml和它的子文件组件,子文件用来对它进行补充!

    docker-compose和VS与项目的关系

    一个docker-compose包括了所有可以发布的项目,这些项目在compose里被称为一个服务!

    Dockerfile与VS项目的关系

    一个Dockerfile对应一个具体的项目,可以是网站,API,控制台程序等,主要对它们进行发布,运行等!

    docker-compose和Dockerfile的关系

    一个docker-compose会包括多个Dockerfile,而每个Dockerfile对应于一个镜像,也就是说,很多镜像组件了一个服务,一个docker-compose,我们可以按着自己的规则去划分服务,docker-compose最小管理单元是"服务"!

    具体例子

    docker-compose.yml

    version: '2'
    
    services:
      coremvc1.1:
        image: coremvc1.1
        build:
          context: ./coreMvc1.1 #Dockerfile所在的目录
          dockerfile: Dockerfile  #文件
    
      shop:
        image: shop
        build:
          context: ./Shop
          dockerfile: Dockerfile

    docker-compose.override.yml对原文件进行功能的补充

    version: '2'
    
    services:
      coremvc1.1:
        environment:
          - ASPNETCORE_ENVIRONMENT=Development
        ports:
          - "80"
    
      shop:
        environment:
          - ASPNETCORE_ENVIRONMENT=Development
        ports:
          - "80"

    然后把整个解决方案发布一个,复制到你的linux环境里

    执行docker-compose build 生成服务,就是一批镜像,通过docker-compose images可以查看它们

    当生成成功后,执行docker-compose up 运行服务,就是运行这些容器,然后docker ps或者docker-compose ps 可以查看正在运行的容器

    从上面的图中可以看到,这个服务包括了两个容器,它们分别监听了81和82端口,而自己程序端口都是5000,这也是默认的!

    有时,觉得微软,vs2017为开发者考虑的太到位了,呵呵! 

    感谢各位的阅读!

     回到目录

  • 相关阅读:
    现代软件工程 第八章 【需求分析】练习与讨论
    现代软件工程 第七章 【MSF】练习与讨论
    现代软件工程 第六章 【敏捷流程】练习与讨论
    PPT演说技巧
    Mac上最强大的截图软件-xnip
    什么是函数倾轧(name mangling)?
    编程--在线提交系统(Online Judge)
    C++ 的多继承与虚继承
    C++ 中 string和char* 的区别
    编程语言中优先级与结合性
  • 原文地址:https://www.cnblogs.com/lori/p/7229765.html
Copyright © 2011-2022 走看看