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为开发者考虑的太到位了,呵呵! 

感谢各位的阅读!

本文转自博客园张占岭(仓储大叔)的博客,原文链接:docker~docker-compose和VS解决方案的关系,如需转载请自行联系原博主。

目录
相关文章
|
26天前
|
存储 机器学习/深度学习 中间件
快速上手 Elasticsearch:Docker Compose 部署详解
本文介绍了如何使用Docker Compose快速搭建Elasticsearch学习环境。Elasticsearch是一款用于实时搜索和分析的分布式中间件,适用于多种场景,如搜索、日志分析、机器学习等。首先,创建docker网络,拉取最新版8.12.2镜像。接着,编写docker-compose.yml文件,配置单节点集群,设置端口映射、内存限制及数据卷挂载。然后,创建并配置数据卷目录,允许远程访问和跨域。最后,启动服务并验证,通过浏览器访问确认服务运行正常。本文为初学者提供了一个简便的Elasticsearch部署方法。
141 4
快速上手 Elasticsearch:Docker Compose 部署详解
|
1月前
|
关系型数据库 MySQL Java
Docker Compose详细教程(从入门到放弃)
Docker Compose详细教程(从入门到放弃)
138 0
|
3月前
|
存储 数据可视化 数据安全/隐私保护
使用 Docker Compose 部署 Docker Registry
【1月更文挑战第2天】 在内网环境中,我们期望能够在本地共享镜像。为了解决这一问题,Docker Registry成为了我们的救星。Docker Registry是一个用于存储和管理Docker镜像的开源工具。通过在本地部署Docker Registry,您可以轻松地构建、存储和分享自己的Docker镜像。
149 3
使用 Docker Compose 部署 Docker Registry
|
1月前
|
Java Docker 微服务
如何使用Docker和Docker Compose部署微服务
【2月更文挑战第12天】
205 0
|
18天前
|
存储 Kubernetes API
Docker拉取镜像或者kubectl出现的这个解决方案x509: certificate signed by unknown authority
Docker拉取镜像或者kubectl出现的这个解决方案x509: certificate signed by unknown authority
48 2
|
2月前
|
Docker 容器
Docker Compose的安装与配置
Docker Compose的安装与配置
126 2
Docker Compose的安装与配置
|
2月前
|
存储 监控 Serverless
Serverless应用引擎(SAE)不支持直接通过Docker Compose进行部署
【2月更文挑战第8天】Serverless应用引擎(SAE)不支持直接通过Docker Compose进行部署
262 1
|
2月前
|
NoSQL 开发工具 Redis
【docker专题_07】vim: command not found解决方案
【docker专题_07】vim: command not found解决方案
|
2月前
|
消息中间件 运维 应用服务中间件
容器化运维:构建高可用RabbitMQ集群的Docker Compose指南
容器化运维:构建高可用RabbitMQ集群的Docker Compose指南
159 0
|
2月前
|
Docker 容器
百度搜索:蓝易云【Docker下如何实现Docker Compose?】
现在,你已经成功使用Docker Compose在Docker中配置和管理多个容器服务。你可以在 `docker-compose.yml`文件中根据需要添加更多的服务和配置。
24 0