多语种 小语种网站推广方法做淘宝网站代理
web/
2025/10/9 8:27:23/
文章来源:
多语种 小语种网站推广方法,做淘宝网站代理,温州网站制作费用,做网站要遵守的基本原则文章目录 数据卷概念数据卷实现机制数据卷特性数据卷操作数据卷挂载通用命令匿名挂载具名挂载数据卷继承容器数据卷只读容器数据卷读写-默认 总结 数据卷概念 为了很好的实现数据保存和数据共享#xff0c;Docker提出了Volume这个概念#xff0c;简单的说就是绕过默认的联合文… 文章目录 数据卷概念数据卷实现机制数据卷特性数据卷操作数据卷挂载通用命令匿名挂载具名挂载数据卷继承容器数据卷只读容器数据卷读写-默认 总结 数据卷概念 为了很好的实现数据保存和数据共享Docker提出了Volume这个概念简单的说就是绕过默认的联合文件系统而以正常的文件或者目录的形式存在于宿主机上。又被称作数据卷。 数据卷实现机制
创建容器时将宿主机的目录与容器内的目录进行映射可以通过修改宿主机的某个目录从而去影响容器而且这个操作是双向绑定容器内的操作也会影响到宿主机实现备份功能。但是容器被删除的时候宿主机的内容并不会被删除因为底层是通过拷贝实现的。如果多个容器挂载的是同一个目录其中一个容器被删除其他容器内的数据不会受到影响同理底层也是拷贝实现的
数据卷特性
数据卷可以在容器之间共享和重用对数据卷的修改会立马生效对数据卷的更新不会影响镜像数据卷默认会一直存在即使容器被删除 容器和宿主机之间的数据卷属于引用关系数据卷是从外界挂载到容器内部的所以可以脱离容器的生命周期而独立存在正式由于数据卷的生命周期并不等同于容器的生命周期在容器退出或者删除以后数据卷依然不会受到影响数据卷的生命周期一直持续到没有容器使用它为止 数据卷操作
数据卷挂载通用命令
创建容器时添加-v参数格式为宿主机:容器目录例如
sudo docker run -di -v /docker/mysql/data:/usr/local/data --name mysql01 -e MYSQL_ROOT_PASSWORDroot -d mysqlsudo docker run -di -v /docker/mysql/data:/usr/local/data --name mysql02 -e MYSQL_ROOT_PASSWORDroot -d mysql宿主机在/docker/mysql/data下新增test.txt文件 登陆进入mysql01容器内在/usr/local/data下发现test.txt文件 登陆进入mysql02容器内在/usr/local/data下发现test.txt文件 当我退出,停止删除容器mysql02时宿主机上test.txt文件依旧存在 重新启动容器mysql02在容器mysql02上删除test.txt宿主机和容器mysql01的test.txt文件也都不存在了
匿名挂载
匿名挂在只需要写容器目录即可宿主机对应的目录会在/var/lib/docker/volumes中生成 格式为-v 容器目录,例如
docker run -di -v /usr/local/data --name mysql01 -e MYSQL_ROOT_PASSWORDroot -d mysql启动容器后通过docker inspect mysql01 知道当前容器数据卷的挂载情况 若你使用的是mac系统它找不到卷目录可以执行 docker run -it --privileged --pidhost debian nsenter -t 1 -m -u -n -i sh 然后直接可以转入到var/lib/docker/volumes目录下操作文件即可
具名挂载
具名挂载就是给数据卷起了个名字容器外对应的目录会在var/lib/docer/volumes中生成 格式为-v 卷名称:容器目录,例如
docker run -di --privilegedtrue -v docker_mysql_data:/usr/local/data --name mysql03 -e MYSQL_ROOT_PASSWORDroot -d mysql执行docker volume ls 查看volume数据卷信息其中docker_mysql_data就是卷名称其它卷名称都是默认生成的ID号 通过docker volume inspect 数据卷名称可以查看该数据卷对应宿主机的目录地址
docker volume inspect docker_mysql_data数据卷继承
若多个容器使用的是相同的数据卷挂载地址那后续的容器启动时可以选择继承容器的数据卷挂载。使用--volumes-from 数据卷容器数据卷容器可以是容器的名称 优势如果需要创建大量的相同目录映射关系可以简化命令便于操作和记忆 例如 先启动mysql01容器使用-v指定数据卷的挂载
docker run -di -v /Users/apple/docker/mysql/data:/usr/local/data --name mysql02 -e MYSQL_ROOT_PASSWORDroot -d mysql执行docker inspect mysql01查看数据卷挂载 容器mysql02和mysql03使用都是同一个数据卷挂载可以在启动容器时使用--volumes-from 数据卷容器指定使用mysql01的数据卷容器例如
docker run -di --volumes-from mysql01 --name mysql02 -e MYSQL_ROOT_PASSWORDroot -d mysql指定docker inspect mysql02查看数据卷挂载
容器数据卷只读
只能通过修改宿主机内容实现对容器的数据管理执行docker run -it -v /宿主机目录:/容器目录:ro 镜像名 。例如
docker run -di -v /Users/apple/docker/mysql/data:/usr/local/data:ro --name mysql01 -e MYSQL_ROOT_PASSWORDroot -d mysql容器数据卷读写-默认
宿主机和容器双向操作数据执行docker run -it -v /宿主机目录:/容器目录:rw 镜像名 或者docker run -it -v /宿主机目录:/容器目录 镜像名 例如
docker run -di -v /Users/apple/docker/mysql/data:/usr/local/data:rw --name mysql02 -e MYSQL_ROOT_PASSWORDroot -d mysql总结
数据卷是Docker容器提出来概念目的是用来持久化容器的数据存在于宿主机上独立于容器的生命周期不会在容器删除后删除数据。Docker提供的数据卷挂载方式很多可以通过具名挂载匿名挂载或者数据卷继承方式等同样可以指定容器目录的可读可写权限若只可读即只能通过宿主机进行数据管理
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/89531.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!