记录.net部署docker-v指令使用(代码片段)

ZYPLJ ZYPLJ     2023-04-21     698

关键词:

记录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查看挂载信息。

sed指令的一些使用记录(代码片段)

Hello,大家好,我是爱吃香蕉的猴子,记录一下sed的一些使用;catreadme.txt-n打印和sed命令匹配的内容输出第三行sed-n'3p'readme.txt输出1到3行sed-n'1,3p'readme.txt-i就是直接对文本文件进行操作的sed-i's/pattern/new_str... 查看详情

centos7中部署net6.0程序(代码片段)

一、第一种方法添加仓储指令rpm-Uvhhttps://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm执⾏安装命令:1、如果不需要在linux上编译源码yuminstalldotnet-runtime-6.02、如果需要在linux上编译源码yuminstalldotnet-sdk-6.03、如果是有webapi 查看详情

centos7中部署net6.0程序(代码片段)

一、第一种方法添加仓储指令rpm-Uvhhttps://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm执⾏安装命令:1、如果不需要在linux上编译源码yuminstalldotnet-runtime-6.02、如果需要在linux上编译源码yuminstalldotnet-sdk-6.03、如果是有webapi 查看详情

csharp.net文件,用于显示如何使用和配置tracesource进行日志记录。(代码片段)

查看详情

jenkinspipeline部署补充记录(代码片段)

...xff0c;同时打算集成更多的常用的插件。除了新插件的使用记录外,还遇到了一些其他的问题,觉得有必要也补充记录。之前笔记参考:centos7中jenkins安装和验证jenkins初步理解及参数化构建jenkinspipeline部署实践及重点问... 查看详情

docker的使用初探:常用指令说明(代码片段)

...用初探(一):常用指令说明前几个星期实践的了,再不记录一下真的就忘干净了Docker即容器技术,具体的介绍已经有很多,不打算赘述了,说一些优点为什么要用Docker对我个人来说,最大的优点就是在一台电脑上可以部署不同... 查看详情

k8s及常用指令使用总结(代码片段)

...ernetes是什么?Kubernetes(K8S)是由Google设计的用于自动化部署、大规模可伸缩、管理容器化应用程序的开源的容器编排引擎,目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划࿰... 查看详情

markdowntrm部署历史记录(代码片段)

查看详情

dockerfile常用指令详解&镜像缓存特性(代码片段)

...小于镜像包,更容易进行快速迁移和部署。环境构建流程记录在Dockerfile中,能够直观的看到镜像构建的顺序和逻辑。使用Dockerfile构建镜像能够更轻松的实现自动部署等自动化流程。在修改环境搭建细节时,修改Dockerfile文件更加... 查看详情

docker的使用初探:常用指令说明(代码片段)

...用初探(一):常用指令说明前几个星期实践的了,再不记录一下真的就忘干净了Docker即容器技术,具体的介绍已经有很多,不打算赘述了,说一些优点为什么要用Docker对我个人来说,最大的优点就是在一台电脑上可以部署不同... 查看详情

windows使用php启动thinkphp项目,部署配置(代码片段)

...是比较简单的,项目需要嵌入一个php项目,这里记录一下使用方法文章目录下载php安装vs工具包配置php.ini配置mysql启动thinkphp项目下载php可以直接从官网下载https://www.php.net/8.1.3的php压缩包关于版本可以自行选择,我是... 查看详情

.net性能优化-使用sourcegenerator-logger记录日志(代码片段)

...们都要求对于那些会变更数据的接口、调用第三方的接口记录请求和响应参数,另外在关键的代码路径记录后续可供诊断的日志信息。如果使用了微软官方的日志记录框架Microsoft.Extensions.Loggin 查看详情

记录macosm1芯片(arm64架构)使用docker-compose方式部署kafka(代码片段)

...器,所以一些开发环境非常的难找,所以在这里记录一下arm64环境部署Kafka。二、部署docker-compose.yml准备docker-compose.yml文件:博主的虚拟机IP是192.168.153.131&#x 查看详情

.net6新特性试用|隐式using指令(代码片段)

...时,我们发现,相比以前的代码,大量的using指令消失了:using指令的主要作用是允许使用在命名空间中定义的类型,而无需指定该类型的完全限定命名空间。那么,在.NET6下为什么不需要了呢?ImplicitUs... 查看详情

docker部署应用过程记录(代码片段)

   Kibana直接部署到centos中,老是没有任何征兆退出,今天将他移动到docker中部署,以下是部署的过程,做个记录防止忘记    1.安装Docker#yuminstalldocker    2.启动Docker服务#systemctlstartdocker//Docker安装 查看详情

dockerfilevolume指令与docker-v的区别

在学习Dockerfile的过程中有个VOLUME命令,很多教程或书中说的是用来定义匿名卷的,其作用如下:  容器运行时应该尽量保持容器存储层不发生写操作,对于数据库类需要保存动态数据的应用,其数据库文件应该保存于卷(volume)... 查看详情

csharp使用log4net日志记录的自定义webapi过滤器。(代码片段)

查看详情

win10安装virtualbox及部署kafka踩坑记录(代码片段)

背景因为目前手里只有一台win10操作系统的笔记本,需要部署一套kafka环境进行调试,所以考虑使用virtualbox安装centos来部署kafka。windows下载安装virtualbox很简单,不清楚的可以从网上查询相关资料。环境virtualbox: VirtualB... 查看详情