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
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小時內刪除侵權內容。