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

记录.Net部署Docker-v指令使用的更多相关文章

  1. 阿里云部署Docker(3)----指令学习

    通过上两节的学习http://blog.csdn.net/minimicall/article/details/40119177 和http://blog.csdn.net/minimicall/ar ...

  2. Linux下部署docker记录(0)-基础环境安装

    以下是centos系统安装docker的操作记录 1)第一种方法:采用系统自带的docker安装,但是这一般都不是最新版的docker安装epel源[root@docker-server ~]# wg ...

  3. 记录一次vue部署docker步骤

    vue部署docker 拉取nginx镜像 docker pull nginx 有Dockerfile文件步骤: 1.打包vue npm run build 2.写一个default.conf 文件, ...

  4. 记录Linux CentOS 7系统完整部署Docker容器环境教程

    笔者之前有在"详细介绍Ubuntu 16.04系统环境安装Docker CE容器的过程"文章中有介绍到利用Ubuntu系统安装Docker容器环境的过程.如果我们有使用CentOS ...

  5. Linux高级运维 第八章 部署docker容器虚拟化平台

    8.1  Docker概述 实验环境: CENTOS7.4-63 64位 Dcoker概述 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到 ...

  6. 阿里云部署Docker(2)

    之前有一篇文章讲过在阿里云中安装Docker,相对来说那个是安装.可是安装完之后我们通常会碰到问题. 今天我给大家记录一下我的新的解决过程. 环境还是ubuntu12.04.如果我们已经把内核升级到了 ...

  7. 阿里云部署Docker(5)----管理和公布您的镜像

    出到这节,我在百度搜索了一下"阿里云部署Docker",突然发现怎么会有人跟我写的一样呢?哦,原来是其它博客系统的爬虫来抓取,然后也不会写转载自什么什么的.所以,我最终明确为什么那 ...

  8. 局域网内部署 Docker Registry

    在局域网内部署 Docker Registry 可以极大的提升平时 pull.push 镜像的速度,从而缩短自动化操作的过程.同时也可以缓解带宽不足的问题,真是一举多得.本文将从创建单机的 Docke ...

  9. centos7 部署 docker ce

    =============================================== 2019/4/9_第1次修改                       ccb_warlock === ...

  10. centos7 部署 docker、shipyard

    =============================================== 2019/4/9_第3次修改                       ccb_warlock 更新说 ...

随机推荐

  1. aspnetcore插件开发dll热加载

    该项目比较简单,只是单纯的把业务的dll模块和controller的dll做了一个动态的添加删除处理,目的就是插件开发.由于该项目过于简单,请勿吐槽.复杂的后续可以通过泛型的实体.dto等做业务和接口 ...

  2. Gradle8.4构建SpringBoot多模块项目

    Gradle8.4构建SpringBoot多模块项目 一.基本 1.版本 这个版本是Jdk8最后一个SpringBoot版本 软件 版本 Gradle 8.4 SpringBoot 2.7.15 JD ...

  3. Spire.Doc 生成长图

    按模板生成内容,转换成长图保存: Document doc = new Document("A_BizRpt.docx"); ....... Image[] imgs = doc. ...

  4. 【GUI开发】用python爬YouTube博主信息,并开发成exe软件!

    目录 一.背景介绍 二.代码讲解 2.1 爬虫 2.2 tkinter界面 2.3 存日志 三.说明 一.背景介绍 你好,我是@马哥python说,一名10年程序猿. 最近我用python开发了一个G ...

  5. 05 elasticsearch学习笔记-基本CRUD

    目录 视频教程 4.1 基本CRUD 4.2 URI查询 按时间段查 视频教程 Elasticsearch(7.8.1)沥血之作(包含仿百度搜索案例) https://www.bilibili.com ...

  6. 用Java 实现一个异步任务 可终止,可中断,可继续功能

    在 Java 中实现一个异步任务可以使用多线程和线程池技术,同时需要考虑终止.中断和继续等功能.下面展示一个简单的示例代码,实现异步任务的终止.中断和继续等功能: import java.util.c ...

  7. ECMA 2023(ES14) 新特性

    ECMAScript 2023 主要包含内容 ECMAScript 2023 于 2023 年 6 月 27 日获得 ECMA International 的批准. ECMAScript 是标准化的 ...

  8. CSS---鼠标悬浮时逐渐变大样式

    .tuijian_2:hover{ transform: scale(1.3); transition: all 1s; }

  9. 根据raft协议动画总结raft协议的特点

    raft动画地址 1. 1事务提交的时候如果已经被一台follower(A)获取到了,此时leader(L)挂掉,然后其它follower跟A一起选举leader基本上都是A会被选举成功,然后不管1事 ...

  10. GeneralUpdate .Net5 WPF、Winfrom、控制台应用自动更新组件

    https://www.bilibili.com/video/BV1aX4y137dd/?vd_source=43d3e66cc2ad46bac54dfb0c6a3a0a23 GeneralUpdat ...