栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Docker Review - 使用docker volume数据卷实现容器内的数据与宿主机同步

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Docker Review - 使用docker volume数据卷实现容器内的数据与宿主机同步

文章目录
  • Pre
  • docker volume
  • 基本操作
  • 挂载一个主机目录作为数据卷


Pre

数据卷 是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用的特性:

  • 数据卷 可以在容器之间共享和重用
  • 对 数据卷 的修改会立马生效
  • 对 数据卷 的更新,不会影响镜像
  • 数据卷 默认会一直存在,即使容器被删除

数据卷 的使用,类似于 Linux 下对目录或文件进行 mount,镜像中的被指定为挂载点的目录中的文件会复制到数据卷中(仅数据卷为空时会复制)。


docker volume

https://docs.docker.com/engine/reference/commandline/volume_create/


基本操作


# 创建数据卷
[root@VM-0-7-centos ~]# docker volume create artisan
artisan

#  查看所有的 数据卷
[root@VM-0-7-centos ~]# docker volume ls
DRIVER    VOLUME NAME
local     artisan
[root@VM-0-7-centos ~]#  查看指定 数据卷 的信息
[root@VM-0-7-centos ~]# docker volume inspect artisan
[
    {
        "CreatedAt": "2021-10-06T23:42:22+08:00",
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/artisan/_data",
        "Name": "artisan",
        "Options": {},
        "Scope": "local"
    }
]
[root@VM-0-7-centos ~]#
[root@VM-0-7-centos ~]#


挂载一个主机目录作为数据卷

步骤

  1. 在主机的 /root 目录下新建一个文件夹 artisan
  2. 命令 docker run -it -v 主机目录: 容器内目录
  3. 将主机上的 /root 文件夹下面的artisan的文件夹与容器内的home文件夹绑定
[root@VM-0-7-centos ~]# pwd
/root
[root@VM-0-7-centos ~]#
[root@VM-0-7-centos ~]#
[root@VM-0-7-centos ~]#
[root@VM-0-7-centos ~]#
[root@VM-0-7-centos ~]#
[root@VM-0-7-centos ~]# mkdir artisan
[root@VM-0-7-centos ~]#
[root@VM-0-7-centos ~]# 
[root@VM-0-7-centos ~]# docker run -it -v /root/artisan:/home centos /bin/bash
[root@b7424d27ae0f /]#
[root@b7424d27ae0f /]#
[root@b7424d27ae0f /]#   容器内的 home 文件夹
[root@b7424d27ae0f /]# cd /home
[root@b7424d27ae0f home]# ls
[root@b7424d27ae0f home]#
[root@b7424d27ae0f home]#
[root@b7424d27ae0f home]#


# 切到宿主机上,/root/artisan目录 

[root@VM-0-7-centos ~]# cd /root/artisan/
[root@VM-0-7-centos artisan]# ll
total 0
[root@VM-0-7-centos artisan]#
[root@VM-0-7-centos artisan]# touch artisan.log
[root@VM-0-7-centos artisan]#



# 切到容器内,切到映射的/home目录下 ,发现已经同步了 

[root@b7424d27ae0f home]#
[root@b7424d27ae0f home]# ls
artisan.log
[root@b7424d27ae0f home]#
[root@b7424d27ae0f home]#

现在,在容器内的 home 文件夹下面创建一个artisan.log文件 ,然后在主机的/root/artisan文件夹下面查看一下是否有artisan.log文件, 容器内的数据与主机实现了同步。

容器内创建个文件,宿主机目录下也有相同的文件

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/299837.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号