Docker数据卷之进阶篇

【容器之间数据共享,修改同步】

配置如下:

  1. type 指定挂载方式,我们这里用到的是 volume,其实还可以有 bind 和 tmpfs。

Volunme:这个目录只有Docker可以管理,其他进程不能修改。如果想持久保存容器的 应用数据,Volumes是Docker推荐的挂载方式。

Bind:容器内的数据被存放到宿主机文件系统的任意位置,甚至存放到一些重要的系统 目录或文件中。除了Docker之外的进程也可以任意对他们进行修改;

tmpfs容器的数据只会存放到宿主机的内存中,不会被写到宿主机的文件系统中,因 此不能持久保存容器的应用数据。

  1. volume-driver 指定挂载数据卷的驱动程序,默认值是 local。
  2. source 指定挂载的源,对于一个命名的数据卷,这里应该指定这个数据卷的名称。在使用时可以写 source,也可以简写为 src。
  3. destination 指定挂载的数据在容器中的路径。在使用时可以写 destination,也可以简写为 dst 或 target。
  4. readonly 指定挂载的数据为只读。
  5. volume-opt 可以指定多次,用来提高更多的 mount 相关的配置。
  6. Target=/data,挂载到容器/data目录,没有则自动创建表

创建挂载卷:docker volume create my-data

卷的详细信息:docker volume inspect my-data

数据卷列表:docker volume ls

移除卷:docker volume rm my-data

清除无主的数据卷:docker volume prune

我们可以使用-f或--force选项强行删除正在使用中的容器。然后再删除卷:

docker container rm –f $(docker container ls -aq)

docker volume rm my-data

挂载数据卷命令:[默认目录:/var/lib/docker/volumes/my-data]

1.docker run -id --mount type=volume,source=my-data,target=/data ubuntu /bin/bash

2.docker run -it -v /home/data/:/home/data/:ro --name test ubuntu:16.04 bin/bash

容器目录挂载本地目录:[冒号前为宿主机目录,冒号后为容器目录]

默认挂载的路径权限为读写:[ro表示readonly只读]

注意:

1.如果本地数据卷或者本地目录尚未创建,-v命令则会自动创建,--mount则会报错

2.如果是容器里的目录不存在,两者都会自动创建

3.--mount命令解析:

由多个键=值组成,

有type=bind/volume/tmpfs,(省略该字段则默认为volume)

可使用source/src=本机目录文件,(省略该字段则为匿名卷)

target/destination/dst=容器目录,

可指定readonly)

原文地址:https://www.cnblogs.com/yanghe123/p/10838421.html

时间: 2024-10-31 16:33:54

Docker数据卷之进阶篇的相关文章

Docker学习笔记之docker数据卷

Docker数据卷数据卷是经过特殊设计的目录,可用绕过联合文件系统(UFS),为一个或多个容器提供访问 数据卷的特点:数据卷在容器启动时初始化,如果容器使用的镜像在挂载点包含了数据,这些数据会拷贝到新初始化的数据卷中数据卷可以在容器之间共享和重用可以对数据卷里的内容直接进行修改数据卷的变化不会影响镜像的更新卷会一直存在,即使挂载数据卷的容器已经被删除 为容器添加数据卷:docker run -v ~/container_data:/data -it centos /bin/bash:contai

Docker 数据卷,数据卷容器详细介绍

Docker 数据卷,数据卷容器详细介绍 引子 有些时候,我们的服务运行时必不可少的会产生一些日志,或是我们需要把容器内的数据进行备份,甚至多个容器之间进行数据共享,这必然涉及容器的数据管理操作. 容器中管理数据主要有两种方式: 数据卷数据卷容器 数据卷是一个可供容器使用的特殊目录,它绕过文件系统,可以提供很多有用的特性: - 数据卷可以在容器之间共享和重用 - 对数据卷的修改会立马生效 - 对数据卷的更新,不会影响镜像 - 卷会一直存在,直到没有容器使用 #(类似linux下的挂载(mount

docker数据卷备份恢复以及配置桥接网络

笔记内容:docker数据卷备份恢复以及网络相关笔记日期:2018-02-06 25.9 数据卷备份恢复 25.10 docker网络模式 25.11 opration not permitted错误 25.12 配置桥接网络 25.9 数据卷备份恢复 备份: 如果数据卷容器的共享目录已经挂载到了本地宿主机的磁盘上,那么就无需进行数据卷备份.没有进行挂载到本地,而是作为共享目录的数据卷容器,就得定期将数据卷进行一个备份,不然如果数据卷被删除的话,数据也会丢失. 假设数据卷容器共享的目录是data

4.docker数据卷管理

生产过程中使用docker往往需要对数据进行持久化,或者需要在多个容器之间进行数据共享,因此就需要数据卷来做数据持久化 *数据卷:容器内数据直接映射到本地主机环境 数据卷的特性: 1)可以在容器之间共享和重用,容器间传递数据变得高效方便 2)对数据卷内数据的修改会立马生效,无论是容器内操作还是本地操作 3)对数据卷的更新不会影响镜像,解耦了应用和数据 4)卷会一直存在,直到没有容器使用,可以安全地卸载它 创建数据卷 docker run -it --name web -v ~/webapp:/w

docker数据卷应用场景

docker数据卷应用场景 在多个容器之间共享数据,多个容器可以同时以只读或者读写的方式挂载统一个数据卷,从而共享数据卷中的数据 当宿主机不能保证一定存在某一个目录或一些固定的文件路径时,使用数据卷可以规避这种限制带来的问题 当想把容器中的数据存储在宿主机之外的地方时,比如远程主机上和云存储上 当你需要把容器数据在不同宿主机之间备份.恢复或迁移时,数据卷是很好的选择 数据覆盖问题 如果挂载一个空的数据卷到容器中的一个非空目录中,那么这个目录下的文件会被复制到数据卷中 如果挂载一个非空的数据卷到容

Docker 数据卷与容器互联(3)

title: Docker 数据卷与容器互联(3) date: 2018-12-15 14:50:42 tags: Docker categories: Docker copyright: true --- Docker是基于Go语言实现的开源容器项目,Docker让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口,Docker诞生于2013年年初,最初发起者是dotCloud公司.

Docker学习第三天(Docker数据卷管理)

1.Docker数据卷管理 在Docker中,要想实现数据的持久化(所谓Docker的数据持久化即数据不随着Container的结束而结束),需要将数据从宿主机挂载到容器中.目前Docker提供了三种不同的方式将数据从宿主机挂载到容器中: 1.volumes:Docker管理宿主机文件系统的一部分(默认文件位置:/var/lib/docker/volumes) 常用 由上图可知我们到了 /var/lib/docker/volumes 目录下有的文件名很长这时匿名 二有的则是我们创建时制定的 2.

你必须知道的Docker数据卷(Volume)

本篇已加入<.NET Core on K8S学习实践系列文章索引>,可以点击查看更多容器化技术相关系列文章. 一.将Docker数据挂载到容器 在Docker中,要想实现数据的持久化(所谓Docker的数据持久化即数据不随着Container的结束而结束),需要将数据从宿主机挂载到容器中.目前Docker提供了三种不同的方式将数据从宿主机挂载到容器中: (1)volumes:Docker管理宿主机文件系统的一部分,默认位于 /var/lib/docker/volumes 目录中:(最常用的方式

Docker学习笔记(8-3)Docker - 数据卷的备份和还原

学习目标: 备份数据卷 还原数据卷 docker run --volumes-from cid -v ${pwd}:/backup ubuntu tar cvf /backup/backup.tar docker restart dvt5 docker attach dvt5 exit # 通过容器备份数据卷容器中的数据卷 docker run --volumes-from dvt5 -v ~/backup:/backup --name dvt10 ubuntu tar cvf /backup/