时间:2021-05-02
最简单的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代码也是可以直接运行的,不必再创建新的镜像文件。
以上代码都是亲自测试,请大家放心运行,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/hanlaipeng11/article/details/73997968
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
volume是什么volume在英文中是容量的意思,在docker中是数据卷的意思,是用来保存数据的容器为什么要进行数据共享在集群中有多台tomcat,对于集群
Docker数据卷权限在CentOS7中运行NodeJs的容器,发现挂载的本地目录在容器中没有执行权限,经过各种验证和Google搜索,找到了问题的原因,这里做
概述Volume是对各种存储资源的抽象、虚拟化。为管理、控制、使用存储资源提供统一接口。Openstack中的volume为虚拟机提供存储,Docker中的vo
Convert将FAT和FAT32卷转换为NTFS。语法convert[volume]/fs:ntfs[/v][/cvtarea:FileName][/nose
方法一:基本模式下,点击“修改卷更新策略”,点击“禁用持续更新”。 方法二:高级模式下,找到Volume_