记录.Net部署Docker-v指令使用

yizhihongxing

记录Docker的-v指令使用

前言

之前我浅学了一下docker,方便部署.net项目(部署的是打包之后的项目)

dockerfile文件如下:

FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
WORKDIR /app
EXPOSE 5031
EXPOSE 7031

FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /src

COPY . .

ENTRYPOINT ["dotnet", "Personalblog.dll"]

然后下载镜像,创建容器,都是使用的如下命令:

docker build -t app .

docker run -d -p 80:80 --name app app

问题出现

如果只是简单的使用上面的命令,是可以正确的部署项目,但是会出现一个问题,就是我项目如果更新了的话。我需要先删除容器,还要删除镜像才能重新部署。如果我只是单纯的删除容器重新部署的话,项目是不会更新的。

为什么会出现这个原因呢?

就是因为我没有挂载目录,docker默认挂载了一个随机名的目录,如果我不删除镜像,无论我创建多少个容器,项目还是不会变。

问题解决

如何解决这个问题,很简单,只需要使用-v指令就行了

如下:

docker run -d -p 80:80 -v 项目路径:/src --name app app

这样子部署容器之后,镜像中就会将挂载路径指向你的项目路径,这样子每次项目更新只需要删除容器,然后重新创建容器即可。

注意:这是.net项目,挂载路径为/src,其他的项目还没了解,我试着改过这个挂载路径,但是不太行,创建容器的时候,容器中会自动给你创建一个src目录,如果有解决办法可以评论该篇文章,迫切希望各位大佬解答我的疑惑。

扩展

可以使用docker inspect 镜像名查看挂载路径,找到Mounts查看挂载信息。

原文链接:https://www.cnblogs.com/ZYPLJ/p/17338637.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:记录.Net部署Docker-v指令使用 - Python技术站

(0)
上一篇 2023年4月25日
下一篇 2023年4月25日

相关文章

  • C#值类型、引用类型、泛型、集合、调用函数的表达式树实践

    下面我将对这五个主题分别进行详细的介绍和示例说明。 C#值类型和引用类型 在C#中,变量可以分为值类型和引用类型。值类型存储的是实际的值,而引用类型存储的是内存地址。值类型包括整型、浮点型、字符型、布尔型等,而引用类型包括类、数组、委托等等。 在实际开发中,我们通常需要对值类型和引用类型进行区分。下面是一个简单的示例代码,展示了值类型和引用类型的区别: in…

    C# 2023年6月1日
    00
  • Asp.Net Core配置多环境log4net配置文件的全过程

    在 ASP.NET Core 项目中,使用 log4net 记录日志是一种常见的方式。在多环境下,我们需要为每个环境配置不同的 log4net 配置文件。以下是 ASP.NET Core 配置多环境 log4net 配置文件的全过程: 步骤一:添加 log4net 包 首先,需要在 ASP.NET Core 项目中添加 log4net 包。可以使用 NuGe…

    C# 2023年5月17日
    00
  • C#实现控制线程池最大数并发线程

    在C#中,线程池是一种用于管理线程的机制,可以帮助我们更好地管理应用程序中的线程。在某些情况下,我们需要控制线程池中的最大并发线程数,以避免过多的线程竞争资源,导致性能下降。本文将详细讲解如何使用C#实现控制线程池最大数并发线程,并提供两个示例。 1. 使用ThreadPool.SetMaxThreads方法控制线程池最大并发线程数 C#中的ThreadPo…

    C# 2023年5月15日
    00
  • Java根据身份证号计算年龄,15位身份证号码转18位原理与操作示例

    Java根据身份证号计算年龄 在Java中,我们可以根据身份证号码计算出该身份证持有人的年龄。同时,如果身份证号码是15位,也可以通过转换算法将其转换为18位身份证号码。下面将详细讲解这个完整攻略。 根据身份证号码计算年龄 我们可以按照如下的步骤来根据身份证号码计算出该身份证持有人的年龄。 将身份证号码的字符串转换为Date对象。可以借助SimpleDate…

    C# 2023年6月7日
    00
  • 国产化中的 .NET Core 操作达梦数据库DM8的两种方式(操作详解)

    国产化中的 .NET Core 操作达梦数据库DM8的两种方式(操作详解) 简介 随着国产化和自主可控的意识逐渐加强,越来越多的企业开始采用国产化的数据库软件,如达梦数据库DM8。本文将详细讲解在使用.NET Core操作达梦数据库DM8时的两种方式,以帮助读者更好地理解和使用这种组合的方式。 方式一:使用官方提供的DM8驱动连接数据库 步骤: 安装DM8的…

    C# 2023年6月3日
    00
  • 鼠标右击事件代码(asp.net后台)

    鼠标右击事件是指用户在网页中使用鼠标右键时,触发的相关事件。在ASP.NET后台中,我们可以使用C#或VB.NET编写代码来处理鼠标右击事件。下面是一些详细的攻略和示例: 在页面中注册鼠标右击事件 我们可以通过JavaScript代码,在页面启动时注册鼠标右击事件,代码如下: <script type="text/javascript&quo…

    C# 2023年5月31日
    00
  • C#实现字符串首字母大写的方法示例

    请您耐心阅读以下内容。 C#实现字符串首字母大写方法的完整攻略 字符串首字母大写操作在日常编程中是非常常见的,在C#语言中,实现字符串首字母大写有很多种方法。下面将会介绍两种比较常用的方法。 方法一:Substring方法实现 string str = "hello world"; string firstChar = str.Subst…

    C# 2023年6月8日
    00
  • C#如何让winform程序中的输入文本框保留上次的输入

    要让WinForm程序中的输入文本框保留上次的输入,一种比较常见的方法是使用应用程序设置(Application Settings),下面我将提供具体的攻略。 第一步:启用应用程序设置 在Visual Studio中打开你的WinForm项目; 打开项目属性窗口(可以通过在解决方案资源管理器中右键单击项目并选择“属性”或者通过菜单栏的“项目”->“属性…

    C# 2023年6月6日
    00
合作推广
合作推广
分享本页
返回顶部