Docker数据存储之Volumes详解

现在我来给大家详细讲解“Docker数据存储之Volumes详解”的完整攻略,过程中会包含两个示例,以更好地帮助理解。

Docker数据存储之Volumes详解

什么是Volumes?

Volumes 是 Docker 中用于存储数据的一种机制。当容器在运行时需要存储一些数据时,可以通过 Volumes 将容器内的数据持久化到容器外的主机上,从而在容器销毁重建等情况下,数据仍然能够保留下来。

Volumes的类型

Docker 中 Volumes 分为两种类型:Named VolumesHost Volumes

Named Volumes

Named Volumes 是 Docker 中一种基于容器的命名和管理的卷。它由 Docker Daemon 进行管理,并在主机文件系统中的 /var/lib/docker/volumes 目录下存储数据。通过该方式创建的卷,可以在同一台机器上的不同容器之间共享使用。

创建 Named Volumes 的命令为:

docker volume create my_volume

启动容器时,在以下命令中使用 --mount 标志挂载该卷:

docker run -d -v my_volume:/data --name my_container image_name command_to_run

Host Volumes

Host Volumes 是 Docker 中一种通过直接挂载主机文件系统上的目录作为卷的卷。它允许 Docker 容器可以直接访问主机的文件系统,并在容器外进行卷的管理和操作。由于并不依赖 Docker Daemon 进行管理,因此 Host Volumes 的创建和管理过程相对简单。

启动容器时,在以下命令中使用 -v 标志挂载该卷:

docker run -d -v /host_path:/container_path --name my_container image_name command_to_run

示例1:创建并使用Named Volumes

接下来我们通过一个示例来演示如何使用 Named Volumes。在这个示例中,我们将创建一个简单的 Nginx 容器,将其共享 Named Volumes,并在容器中创建一个静态页面。首先,我们需要创建一个 Named Volumes,命名为 my_html

docker volume create my_html

接下来,我们运行下面的命令,在启动容器时,将容器内的 /usr/share/nginx/html 目录挂载到刚才创建的 Named Volumes my_html 中:

docker run -d -v my_html:/usr/share/nginx/html --name my_nginx_container nginx

在这个容器中,我们可以通过以下命令来创建一个静态页面:

docker exec -it my_nginx_container sh
echo "Hello, Docker Volumes!" > /usr/share/nginx/html/index.html

最后,我们可以通过访问主机上的 my_html 目录来确认我们的静态页面是否存储的正确:

cd /var/lib/docker/volumes/my_html/_data
cat index.html

如果输出结果是 Hello, Docker Volumes!,则代表存储成功。

示例2:使用Host Volumes

接下来我们通过另一个示例来演示如何使用 Host Volumes。在这个示例中,我们将在宿主机上的 /opt/data 目录创建一个 Host Volumes,然后将该目录挂载到 Docker 容器内,最后在容器中创建一些文件。首先我们需要通过以下命令来在宿主机上创建一个目录:

sudo mkdir -p /opt/data

接下来,在启动容器时,我们需要将 /opt/data 目录挂载到容器内的 /data 目录,命名为 my_data_dir

docker run -d -v /opt/data:/data --name my_data_container busybox

在容器中,我们可以通过以下命令来创建一些文件:

docker exec -it my_data_container sh
cd /data
touch file1.txt
touch file2.txt

最后,我们可以通过以下命令确认文件是否存储在 /opt/data 目录中:

ls /opt/data

如果输出结果是 file1.txt file2.txt,则代表存储成功。

总结

本文详细讲解了 Docker 中 Volumes 的概念以及两种类型的用法,并通过两个示例展示了它们的用法。通过这篇文章的学习,相信大家已经对 Docker 中的 Volumes 有了更深入的了解。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Docker数据存储之Volumes详解 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • Docker 容器中搭建 nexus npm私库

    1,版本   dockers :1.13.1   ;nexus 3 2,安装   docker pull liumiaocn/nexus 3,启动 项目 详细 Nexus UI 8081 private repo 8082 proxy repo 8083 URL http://192.168.20.71:8081/     docker run -d -p …

    Docker 2023年4月11日
    00
  • HTTPS基础原理和配置-3

    书接上文:HTTPS 基础原理和配置 – 2,接下来介绍: 配置 NGINX 后端 HTTPS 检查配置 配置 HSTS OCSP Stapling 重要部分来了。如何使用这些选项并配置NGINX? 一、NGINX 的 HTTPS 配置 这里有一些基本的原语(或叫做指令),你可以使用:ssl_certificate、ssl_certificate_key、s…

    2023年4月9日
    00
  • 安装Docker配置阿里云镜像加速(图文教程)

    安装 Docker 配置阿里云镜像加速是常见的 Docker 使用场景之一。下面是详细的攻略: 步骤1:安装 Docker 首先,需要安装 Docker。Docker 的安装过程因操作系统而异,根据官网的指引进行即可。官网地址为:https://docs.docker.com/install/。 步骤2:获取阿里云加速器地址 登录阿里云控制台,进入容器镜像服…

    Docker 2023年5月15日
    00
  • 基于docker的 Hyperledger Fabric 多机环境搭建(上)

    环境:ubuntu 16.04 Docker  17.04.0-ce go 1.7.4 consoul v0.8.0.4   ======================================================================= 一、项目准备 想必能搜到这篇文章的人对Hyperledger Fabric(以下简称Fab…

    Docker 2023年4月16日
    00
  • windows 10安装和使用docker

    下面将为您详细讲解Windows 10安装和使用docker的完整攻略,包括安装docker,设置镜像加速器,常用的docker命令以及两个使用docker的示例。 1. 安装Docker 在docker官网下载Docker安装程序。根据您的Windows版本选择相应的下载版本。 运行安装程序,根据提示安装Docker。一般来说,您只需要一路点击下一步即可安…

    Docker 2023年5月15日
    00
  • 如何使用docker-compose搭建zabbix

    相信不少的读者朋友,应该都有过zabbix搭建的经验。 随着互联网的普及,相比于过去,搭建一个的zabbix平台,需要进行多个组件的安装,需要购买昂贵的硬件资源与相关网络资源的投入,成本可见一斑,笔者所在的公司是一家云计算公司,致力于为传统企业或个人提供便捷的云服务,本文谈到的几种高可用方案,均使用自家的云主机,实践出真知,下面就来谈谈如何使用docker-…

    Docker 2023年4月13日
    00
  • Docker之开启远程访问的实现

    下面是Docker开启远程访问的实现攻略: 一、修改 Docker daemon 配置 默认情况下,Docker daemon 只监听本地 socket 连接。为了实现 docker 远程访问,我们需要修改 Docker daemon 的配置,监听网络请求。在 /etc/docker/daemon.json 中添加以下内容: { "hosts&qu…

    Docker 2023年5月16日
    00
  • Docker轻量管理Dashboard

    欢迎关注【无量测试之道】公众号,回复【领取资源】,Python编程学习资源干货、Python+Appium框架APP的UI自动化、Python+Selenium框架Web的UI自动化、Python+Unittest框架API自动化、 资源和代码 免费送啦~文章下方有公众号二维码,可直接微信扫一扫关注即可。 前面两篇文章已经学习了如何安装Docker和在Doc…

    Docker 2023年4月13日
    00
合作推广
合作推广
分享本页
返回顶部