docker中-v与-mount的区别是什么

docker中-v与-mount的区别是什么,第1张

docker中-v与-mount的区别是什么

docker中“-v”与“-mount”的区别是:挂载主机目录使用“-v”时,如果宿主机上没有指定文件不会报错,会自动创建指定文件;当使用“-mount”时,如果宿主机中没有这个文件会报错找不到指定文件,不会自动创建指定文件。

本教程 *** 作环境:linux7.3系统、docker-1.13.1版、Dell G3电脑。

docker中-v与-mount的区别是什么

--volume(-v)

参数--volume(或简写为-v)只能建立bind mount。示例:docker

docker run --name $CONTAINER_NAME -it \
-v $PWD/$CONTAINER_NAME/app:/app:rw \
-v $PWD/$CONTAINER_NAME/data:/data:ro \
avocado-cloud:latest /bin/bash

注释:安全

命令格式:[[HOST-DIR:]CONTAINER-DIR[:OPTIONS]]]

若是指定HOST-DIR则必须是绝对路径,若是路径不存在则会自动建立

实例中的rw为读写,ro为只读

--mount

参数--mount默认状况下用来挂载volume,但也能够用来建立bind mount和tmpfs。若是不指定type选项,则默认为挂载volume,volume是一种更为灵活的数据管理方式,volume能够经过docker volume命令集被管理。示例:bash

docker run --name $CONTAINER_NAME -it \
--mount type=bind,source=$PWD/$CONTAINER_NAME/app,destination=/app \
--mount source=${CONTAINER_NAME}-data,destination=/data,readonly \
avocado-cloud:latest /bin/bash

注释:app

挂载volume命令格式:[type=volume,]source=my-volume,destination=/path/in/container[,...]

建立bind mount命令格式:type=bind,source=/path/on/host,destination=/path/in/container[,...]

若是建立bind mount并指定source则必须是绝对路径,且路径必须已经存在

示例中readonly表示只读

区别:

使用-v 时,如果宿主机上没有这个文件,也会自动创建,

但是如果使用--mount时,宿主机中没有这个文件会报错找不到这个文件,并创建失败

推荐学习:《docker视频教程》

以上就是docker中-v与-mount的区别是什么的详细内容,

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/709701.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-24
下一篇 2022-04-24

发表评论

登录后才能评论

评论列表(0条)

保存