回到目录

一般地,我们在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: ''

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

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

version: ''

services:
coremvc1.:
environment:
- ASPNETCORE_ENVIRONMENT=Development
ports:
- "" shop:
environment:
- ASPNETCORE_ENVIRONMENT=Development
ports:
- ""

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

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

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

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

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

感谢各位的阅读!

回到目录

docker~docker-compose和VS解决方案的关系的更多相关文章

  1. Docker使用compose(原Fig)快速编配

    Docker使用compose(原Fig)快速编配 目录 安装 应用 构建以及运行 安装 在Linux上安装Fig: 在OS上安装: 在Linux上安装Fig: sudo bash-c "c ...

  2. Docker学习—Compose

    前言 前面<Docker学习-DockerFile>文中介绍了dockerfile相关的语法,及使用方式:接下来了解docker三剑客之一的 Compose:接下来详细学习. 一.dock ...

  3. Docker 15 Compose

    参考源 https://www.bilibili.com/video/BV1og4y1q7M4?spm_id_from=333.999.0.0 https://www.bilibili.com/vid ...

  4. Docker之Compose服务编排

    Compose是Docker的服务编排工具,主要用来构建基于Docker的复杂应用,Compose 通过一个配置文件来管理多个Docker容器,非常适合组合使用多个容器进行开发的场景. 说明:Comp ...

  5. (转)Docker之Compose服务编排

    转自:https://www.cnblogs.com/52fhy/p/5991344.html Compose是Docker的服务编排工具,主要用来构建基于Docker的复杂应用,Compose 通过 ...

  6. 小白学Docker之Compose

    承接上篇文章:小白学Docker之基础篇,自学网站来源于https://docs.docker.com/get-started 概念 Compose是一个编排和运行多容器Docker应用的工具,主要是 ...

  7. Ubuntu18.04安装docker、docker-compose、

    Ubuntu18.04下Docker CE安装 Docker版本分为两个:Docker Community Edition (CE)和 Docker Enterprise Edition (EE).D ...

  8. Docker跨服务器通信Overlay解决方案(下) Consul集群

    承接上文 本文基于上篇文章,详细的场景说明与分析在前篇随笔中业已记录,有兴趣可以移步 Docker跨服务器通信Overlay解决方案(上) Consul单实例 本文主旨 本文为Docker使用Cons ...

  9. [转帖]Docker里运行Docker docker in docker(dind)

    Docker里运行Docker docker in docker(dind) http://www.wantchalk.com/c/devops/docker/2017/05/24/docker-in ...

随机推荐

  1. C# 委托的理解

    1.什么是委托 委托可以理解为持有一个或多个方法的对象.如果执行委托的话,委托会 执行它所"持有"的方法.委托可以避免程序中大量使用if-else语句,使 程序拥有更好的扩展性. ...

  2. JavaScript设计模式_02_策略模式

    在程序设计中,我们常常遇到这种情况,要实现某一个功能我们有很多种算法可以实现.这些算法灵活多样,而且可以随意互相替换.这种解决方案就是所谓的策略模式. /* * pre:策略模式 * 示例:公司计算奖 ...

  3. Ajax 跨域提交表单

    跨域提交表单,前端ajax不用做任何修改, 只需要在后端调用的方法里面添加一行代码即可. .NET 版 HttpContext.Response.AddHeader("Access-Cont ...

  4. Mybatis中javaType和jdbcType对应和CRUD例子

    JDBC Type Java Type CHAR String VARCHAR String LONGVARCHAR String NUMERIC java.math.BigDecimal DECIM ...

  5. 关于并发,关于IIS你真的了解吗?(一)

    本文仅代表带个人观点及理解,本人只是一个编程小菜鸟,如果有不对的地方.请大佬轻喷! 前言:对于很多工作时间短或者编程经验不足的程序员来说,大多数会觉得并发这个词离自己太遥远,之所以知道并发也不过是因为 ...

  6. python 算法 -- 冒泡排序

    python 排序算法 -- 冒泡排序 原理 从数组的底部开始, 两两比较大小, 小的在下,大的在上, 依次类推直到顶部. 当整个数组比较完毕, 则最上面的一定是最大值(此即冒泡的由来); 当第一轮比 ...

  7. 一个编程菜鸟的进阶之路(C/C++)

    学编程是一条不归路,但我义无反顾.只能往前冲,知道这个过程是痛苦的,所以我开通这个博客,记录自己在编程中遇到的问题和心得,一是希望可以帮助跟我一样遇到同样问题的人,二是把这作为对自己的勉励及回忆:

  8. R语言重要数据集分析研究——需要整理分析阐明理念

    1.R语言重要数据集分析研究需要整理分析阐明理念? 上一节讲了R语言作图,本节来讲讲当你拿到一个数据集的时候如何下手分析,数据分析的第一步,探索性数据分析. 统计量,即统计学里面关注的数据集的几个指标 ...

  9. chrome谷歌浏览器-DevTool开发者工具-详细总结

    目录: 一.概述 1.官方文档 2.打开方法: 3.前言: 二.九个模块: 1.设备模式Device Mode 2.元素面板Elements 3.控制台面板Console 4.源代码面板Sources ...

  10. 谈谈Nancy中让人又爱又恨的Diagnostics【上篇】

    前言 在Nancy中有个十分不错的功能-Diagnostics,可以说这个功能让人又爱又恨. 或许我们都做过下面这样的一些尝试: 记录某一个功能用到的相关技术信息 记录下网站的访问记录 全局配置某些框 ...