热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

linux下dotnet发布docker

范例,如高深的docker使用DockerFile配置并不涉及环境dotnet6.0docker自行安装创建项目创建项目TestPublic目录如下ps:多层级项目最好调整目录将D

范例,如高深的docker使用 DockerFile配置并不涉及

环境

dotnet 6.0
docker 自行安装

创建项目


创建项目TestPublic

目录如下

image

image

ps: 多层级项目 最好调整目录将Dockerfile移至顶层


踩坑

如果多层级项目DockerFile 在主目录下 无法找到目录文件

解决方案: 可以将Dockerfile移至顶层,后只需要修改为 ./XXX/XXX.csproj 更简洁方便

如果有nuget包引用,遇到个坑,找不到nuget引用

解决方案:将Nuget.config 移动到顶层 在DockerFile下新增 COPY NuGet.config ./

launchSettings.json下的port 需要与DockerFile下EXPOSE 相对于

DockerFile文件

#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
WORKDIR /app
EXPOSE 7195
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /src
COPY ["./TestPublic/TestPublic.csproj", "./TestPublic/"]
RUN dotnet restore "./TestPublic/TestPublic.csproj"
COPY . .
WORKDIR "/src/."
RUN dotnet build "./TestPublic/TestPublic.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "./TestPublic/TestPublic.csproj" -c Release -o /app/publish /p:UseAppHost=false
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "TestPublic.dll"]

打包TestPublic为 Zip

unzip -d xxx XXXX.zip

ps:zip linux支持好一点,所以压缩为zip

image


查看镜像

docker images

image


docker run ps: 最简单的实现,复杂的守护进程啥的自行google

docker run -d --name public -p 7195:80 public:v1

image


页面访问 对外ip:7195

image



推荐阅读
  • 提升 Kubernetes 集群管理效率的七大专业工具
    Kubernetes 在云原生环境中的应用日益广泛,然而集群管理的复杂性也随之增加。为了提高管理效率,本文推荐了七款专业工具,这些工具不仅能够简化日常操作,还能提升系统的稳定性和安全性。从自动化部署到监控和故障排查,这些工具覆盖了集群管理的各个方面,帮助管理员更好地应对挑战。 ... [详细]
  • Parallels Desktop for Mac 是一款功能强大的虚拟化软件,能够在不重启的情况下实现在同一台电脑上无缝切换和使用 Windows 和 macOS 系统中的各种应用程序。该软件不仅提供了高效稳定的性能,还支持多种高级功能,如拖放文件、共享剪贴板等,极大地提升了用户的生产力和使用体验。 ... [详细]
  • 小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限
    小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限 ... [详细]
  • 本文介绍了如何在 Windows 系统上利用 Docker 构建一个包含 NGINX、PHP、MySQL、Redis 和 Elasticsearch 的集成开发环境。通过详细的步骤说明,帮助开发者快速搭建和配置这一复杂的技术栈,提升开发效率和环境一致性。 ... [详细]
  • 七款高效编辑器与笔记工具推荐:KindEditor自动换行功能解析
    本文推荐了七款高效的编辑器与笔记工具,并详细解析了KindEditor的自动换行功能。其中,轻笔记QingBiJi是一款完全免费的记事本软件,用户可以通过其简洁的界面和强大的功能轻松记录和管理日常事务。此外,该软件还支持多平台同步,确保用户在不同设备间无缝切换。 ... [详细]
  • Docker入门指南:初探容器化技术
    Docker入门指南:初探容器化技术摘要:Docker 是一个使用 Go 语言开发的开源容器平台,旨在实现应用程序的构建、分发和运行的标准化。通过将应用及其依赖打包成轻量级的容器,Docker 能够确保应用在任何环境中都能一致地运行,从而提高开发和部署的效率。本文将详细介绍 Docker 的基本概念、核心功能以及如何快速上手使用这一强大的容器化工具。 ... [详细]
  • PHP 各版本对比:标准版与最新顶级版的详细分析 ... [详细]
  • 体积小巧的vsftpd与pureftpd Docker镜像在Unraid系统中的详细配置指南:支持TLS加密及IPv6协议
    本文详细介绍了如何在Unraid系统中配置体积小巧的vsftpd和Pure-FTPd Docker镜像,以支持TLS加密和IPv6协议。通过这些配置,用户可以实现安全、高效的文件传输服务,适用于各种网络环境。配置过程包括镜像的选择、环境变量的设置以及必要的安全措施,确保了系统的稳定性和数据的安全性。 ... [详细]
  • 在本次分享中,我将详细介绍我的网络数据爬取项目,包括使用Scrapy-Redis进行分布式爬取的具体配置和多台机器的协同工作。此外,还将探讨从Scrapy到Scrapy-Redis的迁移过程,以及在实际爬取过程中遇到的各种反爬虫策略及其应对方法。 ... [详细]
  • 如何在Docker环境中顺利运行Node.js应用程序? ... [详细]
  • 在开发过程中,我最初也依赖于功能全面但操作繁琐的集成开发环境(IDE),如Borland Delphi 和 Microsoft Visual Studio。然而,随着对高效开发的追求,我逐渐转向了更加轻量级和灵活的工具组合。通过 CLIfe,我构建了一个高度定制化的开发环境,不仅提高了代码编写效率,还简化了项目管理流程。这一配置结合了多种强大的命令行工具和插件,使我在日常开发中能够更加得心应手。 ... [详细]
  • 当 EXCLUDE_DEAD 设置为 1 时,为何没有容器被移除? ... [详细]
  • 本文探讨了使用Python进行微服务架构设计的合理性和适用性。首先,介绍了微服务的基本概念及其在现代软件开发中的重要性。接着,通过具体的业务场景,详细分析了Python在微服务架构设计中的优势和挑战。文章还讨论了在实际应用中可能遇到的问题,并提出了相应的解决方案。希望本文能够为从事Python微服务开发的技术人员提供有价值的参考和指导。 ... [详细]
  • Docker镜像加载优化:开发者的高效实践指南
    Docker镜像加载优化:开发者的高效实践指南 ... [详细]
  • 在Docker中,默认情况下,镜像和容器数据存储在`/var/lib/docker`目录下,使用loop设备进行管理。然而,当根分区空间不足时(例如CentOS 7默认安装仅有50GB),可能会导致Docker守护进程启动失败,因为UUID与存储的UUID不匹配。为解决这一问题,可以考虑扩展根分区或更改Docker的数据存储路径,以确保有足够的空间来支持Docker的正常运行。 ... [详细]
author-avatar
killer
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有