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

网友投稿 707 2022-05-30

文章目录

Pre

docker volume

基本操作

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

Pre

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

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

数据卷 可以在容器之间共享和重用

对 数据卷 的修改会立马生效

对 数据卷 的更新,不会影响镜像

数据卷 默认会一直存在,即使容器被删除

数据卷 的使用,类似于 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

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

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

步骤

在主机的 /root 目录下新建一个文件夹 artisan

命令 docker run -it -v 主机目录: 容器内目录

将主机上的 /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]#

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

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

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

Docker

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Istio 流量劫持
下一篇:Redis入门到超神 - 04 redis的5种数据结构
相关文章