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时,宿主机中没有这个文件会报错找不到这个文件,并创建失败
相关文章
标签:Windows
- •Windows Server 2019 如何修改远程桌面端口?(图文教程)
- •Windows2019系统怎么开启/关闭系统防火墙?(图文教程)
- •Windows server2012 R2怎么关闭系统自动更新?
- •windows 2008系统下怎么安装SQL Server 2019数据库?(图文教程)
- •Windows2016系统怎么开启/关闭系统防火墙?(图文教程)
- •windows 2008系统下怎么安装SQL Server 2016数据库?(图文教程)
- •Windows2019系统怎么创建新用户/账号?(图文教程)
- •windows 2012系统下怎么安装SQL Server 2014数据库?(图文教程)
- •Windows2019系统怎么修改系统/远程密码?(图文教程)
- •Windows系统下用宝塔如何搭建html网站?(图文教程)