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

Dockervolume挂载卷的实现方法

这篇文章主要介绍了Dockervolume挂载卷的实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

最简单的hello world输出镜像的制作是最简单的开始,但是如果我们需要修改我们的运行代码,或者有输入输出文件的时候,我们就没有办法了,每一个container运行完毕后,其分配的资源以及文件系统都会消失,那么我们就需要在本地给docker container挂载一个卷,这样在container运行的时候,container的挂载点下的文件操作,也同样会影响到给container挂载的本地卷。就像linux中的mount一样。这样我们只需要修改本地卷中的代码,而不需要修改image即可。

例如我们创建一个Dockerfile文件:

其中:

VOLUME:是在container中创建一个挂载点,我们可以将本地的一个文件卷挂载在container的/data下面,这样我们在container的data目录下的操作就和在本地卷的操作是一样的。

CMD: 在container启动的时候运行的命令,也只能有一条存在。

创建的镜像所要作的操作是统计一个文件中的信息然后将其输入到2.txt中。利用$docker build –t count:v1 ./ 来创建镜像,并查看

在运行的时候,我们需要加上 -v /root/laipeng.han/file:/data来将本地文件/root/laipeng.han/file 挂载在container的/data下面,那么/root/laipeng.han/file下面的所有文件,在container的/data/下面全部都可以看到。

运行指令为:docker run -v /root/laipeng.han/file:/data count:v1

最终container在/data/下面输出的结果的文件2.txt,在/root/laipeng.han/file/下面也是同样可以看到的。这样我们修改/root/laipeng.han/file/下面的countfile.py代码也是可以直接运行的,不必再创建新的镜像文件。

以上代码都是亲自测试,请大家放心运行,希望对大家的学习有所帮助,也希望大家多多支持。


推荐阅读
  • 尽管Medium是一个优秀的发布平台,但在其之外拥有自己的博客仍然非常重要。这不仅提供了另一个与读者互动的渠道,还能确保您的内容安全。本文将介绍如何使用Bash脚本将Medium文章迁移到个人博客。 ... [详细]
  • 本文总结了近年来在实际项目中使用消息中间件的经验和常见问题,旨在为Java初学者和中级开发者提供实用的参考。文章详细介绍了消息中间件在分布式系统中的作用,以及如何通过消息中间件实现高可用性和可扩展性。 ... [详细]
  • CentOS7通过RealVNC实现多人使用服务器桌面
    背景:公司研发团队通过VNC登录到CentOS服务器的桌面实现软件开发工作为防止数据外泄,需要在RealVNC设置禁止传输文件、访问粘贴板等策略过程&# ... [详细]
  • 本文详细介绍了Sleep函数的基本概念、使用方法及其背后的实现原理。适合对Sleep函数的使用和实现感兴趣的开发者阅读。通过本文,您将了解如何在不同操作系统中使用Sleep函数,以及其在多线程编程中的重要性。 ... [详细]
  • Ubuntu 14.04 系统安装后网卡名称修改方法
    本文介绍了在安装 Ubuntu 14.04 Server 版本后,如何将默认的网卡名称从非 eth 格式修改为传统的 eth 格式,并提供了详细的步骤和示例。 ... [详细]
  • 1.前言PAP和CHAP协议是目前的在PPP(MODEM或ADSL拨号)中普遍使用的认证协议,CHAP在RFC1994中定义,是一种挑战响应式协议&#x ... [详细]
  • Vulnhub DC3 实战记录与分析
    本文记录了在 Vulnhub DC3 靶机上的渗透测试过程,包括漏洞利用、内核提权等关键步骤,并总结了实战经验和教训。 ... [详细]
  • 本文介绍了如何在Linux系统中获取库源码,并在从源代码编译软件时收集所需的依赖项列表。 ... [详细]
  • 对象存储与块存储、文件存储等对比
    看到一篇文档,讲对象存储,好奇,搜索文章,摘抄,学习记录!背景:传统存储在面对海量非结构化数据时,在存储、分享与容灾上面临很大的挑战,主要表现在以下几个方面:传统存储并非为非结 ... [详细]
  • 本文详细介绍了 #include 头文件的功能,该头文件在 Unix 和 Linux 系统中用于定义文件状态相关的数据结构和函数。 ... [详细]
  • 本文详细介绍了如何在 CentOS 7 及其衍生发行版(如 Red Hat, Oracle, Scientific Linux 7)上安装和完全卸载 GitLab。包括安装必要的依赖关系、配置防火墙、安装 GitLab 软件包以及常见问题的解决方法。 ... [详细]
  • 本文详细探讨了Spring框架中遇到的NoSuchBeanDefinitionException异常,具体涉及com.thinkplatform.dao.UserLogDao Bean未定义的问题,并提供了相应的解决方案。 ... [详细]
  • 2023年最新Linux环境下Android开发环境搭建指南
    2023年最新Linux环境下Android开发环境搭建指南,帮助Android开发者在Linux系统上快速搭建开发环境,解决常见的配置问题。 ... [详细]
  • 学习Linux下使用caffe进行模型训练(三)
    前言不管是训练过程中,查看网络学习的状态,还是训练结束后,使用模型去执行特定任务,都需要一个可被观察的输出呈现在研究者面前,最好是可视化的图形而非冰冷的数字。因此,本次讲的是通过c ... [详细]
  • 如何在VMware中安装Android x86
    本文详细介绍如何在VMware虚拟机中安装Android x86操作系统,包括所需的软件版本、下载资源和具体步骤。 ... [详细]
author-avatar
fangziqiang
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有