.Net部署Docker-v指令使用详解(docker能在windows中使用吗?)奔走相告

随心笔谈2年前发布 admin
191 0 0

文章摘要

这篇文章介绍了在使用Docker部署Microsoft.NET项目时,通过使用`-v`指令指定目录挂载路径来解决项目更新问题的方法。用户在部署项目时发现,每次项目更新需要手动删除容器重新部署,因此希望找到一个自动挂载的解决方案。文章指出,Docker默认会在镜像中挂载一个随机路径,如果不指定`-v`挂载路径,项目更新时无法自动挂载。通过在运行命令中使用`-v src:/src`,用户成功解决了问题,实现了每次项目更新只需重新部署容器即可。文章还提到,用户尝试更改挂载路径失败,并建议在尝试修改时注意Docker会自动创建默认`src`目录。此外,文章还提供了查看挂载路径的方法,帮助用户理解Docker的挂载机制。总结而言,文章的核心内容是如何利用Docker的`-v`指令实现对项目目录的自动挂载,从而解决项目更新问题。



目录记录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默认挂载了一个随机名的目录,如果我不删除镜像,无论我创建多少个容器,项目还是不会变。

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

如下:

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

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

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

可以使用查看挂载路径,找到查看挂载信息。

到此这篇关于.Net部署Docker-v指令使用 的文章就介绍到这了,更多相关Docker-v指令使用 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:docker<容器数据卷-v>对容器内数据持久化详解(备份)Docker数据卷挂载命令volume(-v)与mount的使用总结Dockerfile 中 VOLUME 与 docker -v 的区别说明docker run -v 挂载数据卷异常,容器状态一直是restarting的解决Hyper-V下搭建K8S集群安装docker的方法步骤使用docker -v 和 Publish over SSH插件实现war包自动部署到docker的操作步骤

© 版权声明

相关文章