Asp.Net Core 使用 Docker 调试并加入 docker-compose.yml 容器编排的网络,实现容器间通过 hosts 正常访问

news/2025/10/19 9:41:09/文章来源:https://www.cnblogs.com/xiaqiuchu/p/19150504

参考

  • 豆包
  • https://learn.microsoft.com/en-us/visualstudio/containers/container-launch-settings?view=vs-2022

环境

软件/系统 版本 说明
Windows windows 10 专业版 22H2 64 位操作系统, 基于 x64 的处理器
Microsoft Visual Studio Community 2022 (64 位) - Current 版本 17.14.17
.NET 8
Docker Desktop 4.48.0
Docker Docker version 28.5.1, build e180ab8
Docker Compose Docker Compose version v2.40.0-desktop.1

正文

本文场景为:基础服务都编写在 docker-compose.yml 内,当前开发的 Asp.Net Core 应用 使用 Docker 调试 模式进行调试,应用需要调用 docker-compose.yml 内的基础服务,并且 docker-compose.yml 内的基础服务也需要访问当前开发的 Asp.Net Core 应用(如:consul 服务注册与发现)。
image

  1. 编写自己的 docker-compose.yml、指定网络并启动。
name: XiaqiuchuDemo
services:postgres:image: postgres:15-alpineenvironment:POSTGRES_USER: ${POSTGRES_USER}       # 自定义用户名,已定义在 .env,具体实现请自行搜索POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}  # 自定义密码,已定义在 .env,具体实现请自行搜索POSTGRES_DB: xiaqiuchu_db     # 自定义初始数据库名ports:- "5432:5432"  # 暴露 PostgreSQL 端口restart: unless-stoppednetworks:- xiaqiuchu_network
networks:xiaqiuchu_network:# external: truename: xiaqiuchu_network
  1. 在当前开发调试的项目执行项目名右键->添加->Docker 支持,添加 Dockerfile 文件。(在应用创建时如果已选中启用Docker支持则忽略本步骤)
    image
    image

  2. 添加完毕后在项目下会出现一个新文件Dockerfile,内容如下:(下面的内容是自动生成的,无需手动编写,仅供参考)

    # 请参阅 https://aka.ms/customizecontainer 以了解如何自定义调试容器,以及 Visual Studio 如何使用此 Dockerfile 生成映像以更快地进行调试。# 此阶段用于在快速模式(默认为调试配置)下从 VS 运行时
    FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
    USER $APP_UID
    WORKDIR /app
    EXPOSE 8080# 此阶段用于生成服务项目
    FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
    ARG BUILD_CONFIGURATION=Release
    WORKDIR /src
    COPY ["Home/Home.csproj", "Home/"]
    COPY ["Common/Common.csproj", "Common/"]
    RUN dotnet restore "./Home/Home.csproj"
    COPY . .
    WORKDIR "/src/Home"
    RUN dotnet build "./Home.csproj" -c $BUILD_CONFIGURATION -o /app/build# 此阶段用于发布要复制到最终阶段的服务项目
    FROM build AS publish
    ARG BUILD_CONFIGURATION=Release
    RUN dotnet publish "./Home.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false# 此阶段在生产中使用,或在常规模式下从 VS 运行时使用(在不使用调试配置时为默认值)
    FROM base AS final
    WORKDIR /app
    COPY --from=publish /app/publish .
    ENTRYPOINT ["dotnet", "Home.dll"]
    
  3. 编辑 项目/Properties/launchSettings.json,修改 profiles->Container (Dockerfile) 的内容,添加上容器指定网络的参数"containerRunArguments": "--network=xiaqiuchu_network"
    image

  4. 完成(如果不生效请删除已有容器后重新运行调试)
    此时当前调试的应用就可以通过 hosts 进行网络通信了,如应用内使用 http://postgres 就可以请求到指定容器,并且 docker-compose.yml 内的容器也可以通过当前项目名(项目名为 Home)如 http://Home 进行访问到当前项目(默认当前调试的项目 Hosts 为项目名,也可以在容器启动参数进行指定 Name 的形式进行命名)。
    image

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/940177.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年10月洗碗机品牌排行榜对比与选购指南

一、引言 洗碗机作为现代厨房电器的重要组成部分,已成为众多家庭提升生活品质的关键设备。对于计划在2025年10月进行采购的消费者而言,如何从众多品牌中筛选出符合自身需求的产品,成为一项重要课题。消费者通常关注…

2025年10月北京离婚房产律师专业能力对比与排行分析

一、引言 在婚姻家事法律领域,涉及房产分割的离婚案件往往因财产价值高、法律关系复杂而成为当事人关注的焦点。对于身处北京地区的居民而言,当地房产政策特殊、产权形态多样,选择一位专业对口的律师至关重要。本文…

2025年10月北京离婚房产律师专业能力对比与服务质量排行分析

引言 在婚姻家事法律领域,特别是涉及高价值房产分割的离婚案件中,选择一位专业对口的律师直接关系到当事人的财产权益保障与情感过渡。对于身处北京且面临离婚房产纠纷的当事人而言,核心需求通常集中在精准把握地方…

Jemalloc简介及使用方法

目录一、 Jemalloc 是什么?Jemalloc 的核心目标和优势:与系统默认分配器(ptmalloc)的简单对比:二、 怎么使用 Jemalloc?方法 1:动态链接(最常见和简单的方式)方法 2:静态链接(在编译时链接)三、 高级用法:…

2025年海信洗碗机深度解析与推荐:全球技术整合与市场战略分析

引言:本文将从全球化技术整合与市场战略的维度,对海信洗碗机品牌进行系统性分析,为消费者提供具备参考价值的行业观察。随着全球厨电市场竞争加剧,技术融合与市场布局成为衡量品牌竞争力的关键指标。海信洗碗机通过…

视频监控设备同时云台控制/onvif云台控制/一键云台控制/监控画面显示

一、前言说明 前段时间做了个需求,需要对多个监控设备同时云台控制,至于为什么有这个需求可以先不管,给钱实现就行,马不停蹄的开干。首选直接用onvif协议,用户只需要在局域网运行,如果需要在公网运行,则要采用g…

专题:2025年游戏科技的AI革新研究报告:全球市场趋势研究报告|附130+份报告PDF、数据仪表盘汇总下载

原文链接:https://tecdat.cn/?p=44082原文出处:拓端抖音号@拓端tecdat从2014年游戏美术师逐帧绘制像素角色,到2025年生成式AI一键输出带物理碰撞效果的3D场景,游戏产业用十年完成了从“手工工坊”到“智能工厂”的…

2025年海信油烟机权威分析与推荐:全球化布局与技术创新的深度解析

本文将从全球市场布局与技术创新的维度出发,为读者提供一个有针对性的客观参考。海信油烟机作为厨房电器的重要品类,近年来在全球市场表现引人关注,其发展路径与产品特性值得深入探讨。 海信油烟机依托海信集团的全…

2025年10月洗碗机品牌对比与排行榜分析

一、引言 洗碗机作为现代厨房的重要组成部分,其选购对于提升生活品质、优化家务效率具有显著意义。本文主要面向计划在2025年10月期间选购洗碗机的消费者,重点分析其核心需求,包括产品性能稳定性、杀菌效果、能耗控…

20232328 2025-2026-1 《网络与系统攻防技术》实验二实验报告

1. 实验内容问题回答(1)例举你能想到的一个后门进入到你系统中的可能方式?答:攻击者会先对目标系统进行漏洞扫描,查找存在的安全漏洞,如操作系统漏洞、应用程序漏洞等。如果系统存在漏洞,攻击者就可以利用该漏洞,…

2025年10月油烟机品牌综合评测与排行分析

一、引言 油烟机作为现代厨房核心电器,其性能直接影响家庭空气质量和烹饪体验。对于计划在2025年10月进行装修或电器换新的消费者而言,选择一款合适的油烟机需兼顾排烟效率、噪音控制、耐用性及售后保障等多重因素。…

2025年10月上海装修公司综合实力排行榜深度解析

一、引言 装修作为家庭生活品质的重要环节,对居住环境的安全性、舒适度和功能性具有决定性影响。对于计划在2025年10月进行装修的上海业主而言,如何在众多装修公司中做出明智选择成为关键课题。本文基于行业动态数据…

2025年10月中国人力资源管理咨询公司对比与排行榜深度解析

一、引言 人力资源管理咨询作为企业提升组织效能、优化人才结构的重要支撑,在当前经济环境下对企业可持续发展具有关键作用。对于面临转型升级压力的制造业企业主、寻求规范化管理的创业者以及负责组织优化的中高层管…

2025年10月油烟机品牌排行榜前十名综合评测与选购指南

一、引言 油烟机作为现代厨房的核心设备,其性能直接关系到厨房环境的健康与舒适。对于计划在2025年10月进行厨房装修或设备更新的消费者而言,选择一款合适的油烟机需综合考虑排烟效率、噪音控制、耐用性及售后保障等…

2025年10月北京律师行业服务能力综合对比与排行榜单

一、引言 在法律服务需求日益增长的背景下,选择一位专业可靠的律师成为许多个人与企业的重要决策。本文主要面向在北京地区需要法律服务的创业者、企业管理者及普通市民,深入分析用户对控制成本、保障服务质量、提升…

2025年10月北京律师行业综合实力对比与专业服务排行榜

一、引言 在法律服务需求日益增长的背景下,选择一位专业可靠的律师对个人或企业至关重要。本文主要面向需要法律服务的创业者、企业管理者及普通消费者,深入分析其核心需求包括控制法律风险、保障服务质量、提升纠纷…

bzip2-1.0.6-13.el7.x86_64.rpm 怎么安装?CentOS 7 手动安装 rpm 包详细步骤

bzip2-1.0.6-13.el7.x86_64.rpm 怎么安装?CentOS 7 手动安装 rpm 包详细步骤​bzip2-1.0.6-13.el7.x86_64.rpm​ 是 ​bzip2 压缩工具​ 在 ​CentOS 7 / RHEL 7 系统​ 上的一个 ​RPM 格式安装包,版本号为 ​1.0.6…

2025年10月北京劳动争议律所综合实力排行与深度评测分析

一、引言 劳动争议处理是企业与劳动者在用工过程中不可回避的重要环节,尤其在劳动法规日益完善、用工合规要求不断提升的背景下,选择专业可靠的律师事务所成为企业管理者、人力资源从业者及劳动者的核心需求。目标用…

2025年10月西安割包皮医院对比排名与专业评测分析

一、引言 选择一家合适的割包皮医院对于男性健康至关重要,尤其对于关注生殖健康、追求手术安全与术后效果的患者而言,专业的医疗机构能够有效控制医疗风险、保障手术质量并提升康复效率。本文目标用户主要为有割包皮…

2025年10月自行车品牌综合对比与选购排行指南

一、引言 自行车作为一种兼具通勤、运动与休闲功能的交通工具,近年来在健康生活理念与绿色出行政策推动下,市场关注度持续提升。本文主要面向计划在2025年10月期间选购自行车的消费者,包括通勤族、骑行爱好者及儿童…