Docker 存储管理的几种方式

Docker 存储管理的几种方式:

1. 数据卷

数据卷是 Doker 中最常用的一个存储管理方式,它可以将主机上的一个目录或文件挂载到容器中,使得容器中的数据可以被持久化。具体操作如下:

  1. 创建一个数据卷:
docker volume create my_volume
  1. 运行容器并将数据卷挂载到容器中:
docker run -it -v my_volume:/data my_image

这里的 -v 参数就是将 my_volume 数据卷挂载到了 /data 目录下,容器中的 /data 目录就是和 my_volume 数据卷绑定的。

2. 本地文件系统

本地文件系统是将主机上的文件或目录直接复制到容器中,这种方式要求主机和容器的操作系统必须一致。具体操作如下:

  1. 复制主机上的文件或目录:
cp -r /data my_data
  1. 运行容器并将本地文件系统目录挂载到容器中:
docker run -it -v /home/user/my_data:/data my_image

这里的 -v 参数就是将 /home/user/my_data 本地文件系统目录挂载到了 /data 目录下,容器中的 /data 目录就是和 /home/user/my_data 目录绑定的。

示例说明:

  1. 使用数据卷进行数据持久化

假设我们有一个 web 应用程序需要持久化存储用户上传的图片和视频文件。我们可以先在主机上创建一个目录 /data/web_app 用于存储这些文件,并创建一个 my_volume 数据卷来将容器中的 /data 目录与主机上的 /data/web_app 目录绑定起来,如下:

docker volume create my_volume
docker run -it -v my_volume:/data my_image

这时我们可以将用户上传的数据保存到主机上的 /data/web_app 目录中,这些数据会被保存到 my_volume 数据卷中,即使容器被删除,我们也可以重建容器并挂载同一个 my_volume 数据卷,这些数据仍然会被保留下来。

  1. 使用本地文件系统进行文件共享

假设我们有一个存储数据的应用程序需要将数据以文件的形式保存在主机上,并且此应用程序的主机和容器的操作系统必须一致。我们可以在主机上创建一个目录 /home/user/data 用于存储数据文件,并将这个目录挂载到包含此应用程序的容器中,如下:

docker run -it -v /home/user/data:/data my_image

这时我们就可以在容器中通过 /data 目录来读取和写入 /home/user/data 目录中的数据文件。由于主机和容器的文件系统是共享的,因此容器中写入的文件也会保存到主机的 /home/user/data 目录下。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Docker 存储管理的几种方式 - Python技术站

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

相关文章

  • docker镜像常用操作的基本命令

    1.拉取/下载镜像 docker pull 镜像名称       (可以从网易云镜像中心获取要下载的镜像)   2.查看已经下载的镜像 docker images   3.删除本地镜像 docker rmi 镜像标识      (docker images可以看到镜像标识)   4.镜像导入/导出 导出 docker save -o 导出路径 镜像id 加载…

    Docker 2023年4月16日
    00
  • 详解Docker commit的使用

    详解Docker commit的使用 Docker commit Docker commit命令是利用容器的变更创建一个新的镜像并提交。换句话说,当您对Docker容器进行了更改,您可以通过Docker commit将更改保存为新的镜像。 使用方法 Docker commit的通用格式为: docker commit [OPTIONS] CONTAINER …

    Docker 2023年5月16日
    00
  • Docker安装MySQL8.0的详细步骤(附图文!)

    下面是Docker安装MySQL8.0的详细步骤攻略,包含两条示例说明。 Docker安装MySQL8.0的详细步骤 前置条件 在开始操作之前,确保满足以下条件: 已经安装Docker 确认已经打开了Docker Daemon 确认已经安装Docker镜像 操作步骤 步骤一:下载MySQL8.0镜像 在Docker Hub上可以找到MySQL8.0的官方镜像…

    Docker 2023年5月16日
    00
  • 隔离 docker 容器中的用户

    笔者在前文《理解 docker 容器中的 uid 和 gid》介绍了 docker 容器中的用户与宿主机上用户的关系,得出的结论是:docker 默认没有隔离宿主机用户和容器中的用户。如果你已经了解了 Linux 的 user namespace 技术(参考《Linux Namespace : User》),那么自然会问:docker 为什么不利用 Linu…

    Docker 2023年4月12日
    00
  • Docker学习5-Dockerfile编写自己的镜像

    前言 Dockerfile 可以自定义编写镜像,简单来说就类似写脚本,shell脚本应该接触不少了,就是一个执行后就完成了。 当然做好的镜像也可以传到镜像仓库,就好像github上面一样存储,一个命令就能照搬下来安装。 一、简介 相信不少朋友会问,为何docker run 一下python就停止了呢?(那执行完了不停止干什么?) 还有为什么我的pip安装,每…

    Docker 2023年4月13日
    00
  • Docker Manager for Docker Swarm deploy

    Swarm是Docker公司在2014年12月初发布的一套较为简单的工具,用来管理Docker集群,它将一群Docker宿主机变成一个单一的,虚拟的主机。Swarm使用标准的Docker API接口作为其前端访问入口,换言之,各种形式的Docker Client(docker client in Go, docker_py, docker等)均可以直接与Sw…

    Docker 2023年4月11日
    00
  • 教你使用docker查看运行中的容器

    下面是关于如何使用Docker查看运行中容器的攻略。 简介 Docker是一种流行的容器化工具,它可以帮助我们轻松创建、部署和管理容器。 在Docker中,容器是运行中的实例。如果我们想查看这些运行中的容器,可以使用Docker CLI或Docker API来进行操作。 下面我将详细介绍如何使用Docker CLI查看运行中的容器。 步骤 步骤1:启动容器 …

    Docker 2023年5月15日
    00
  • 在 树莓派(Raspberry PI) 中使用 Docker 运行 aspnetcore/dotnetcore 应用

    本文主要利用 Microsoft 提供的 Dockerfile 进行安装。 虽然Raspberry PI 3 CPU支持 armv8 指令集 ,但是在 docker info 还是识别为 “ armv7l”。所以安装镜像时一律选用 ARMv7 的镜像。 关于树莓派与 .NET Core 需要注意的地方 .NET Core 2.0 支持 Arm32,提供运行时…

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