2019獨角獸企業重金招聘Python工程師標準>>>
本文的目的是說明,如何在生產環境中選擇Docker 的storage driver。以及對應Linux發行版本下Docker storage driver的配置方法。主要參考,docker docs中對于storage driver中的介紹及docker商用版本兼容性矩陣中linux發行版本對于存儲驅動的說明。
當前docker支持的storage driver包括:aufs,brtfs,devicemap,OverlayFs,ZFS 5種存儲驅動。參考:
https://docs.docker.com/engine/userguide/storagedriver/和
https://success.docker.com/Get_Help/Compatibility_Matrix_and_Maintenance_Lifecycle種的說明,當前生產環境中建議如下:
rhel,centos,fedora:devicemapper direct-lvm
ubuntu:aufs
suse:brtfs
當前,生產環境中不建議使用zfs及overlayfs。由于公司產品使用的是centos 7,因此本文介紹下cenos7中如何配置docker使用devicemapper direct-lvm。停止docker daemonsystemctl stop docker
1
1
刪除/var/lib/docker,rm -rf /var/lib/docker
1
1
利用pvcreate命令在空閑塊上創建物理卷pvcreate /dev/sdx
1
1
利用上一步中創建的pv創建卷組vgcreate vg-docker /dev/sdx
1
1
分別創建data,metadata邏輯卷組lvcreate -L 90G -n data vg-docker
lvcreate -L 10G -n metadata vg-docker
1
2
1
2
docker daemon參數配置--storage-driver=devicemapper --storage-opt dm.datadev=/dev/vg-docker/data --storage-opt dm.metadatadev=/dev/vg-docker/metadata
1
1
上述配置完成后,重啟docker daemon即可完成配置。下面是配置完成后docker info查詢的消息。[root@net1 docker]# docker info
Containers: 100Running: 0Paused: 0Stopped: 100
Images: 2
Server Version: 1.10.3
Storage Driver: devicemapperPool Name: docker-253:0-469034-poolPool Blocksize: 65.54 kBBase Device Size: 10.74 GBBacking Filesystem: xfsData file: /dev/vg-docker/dataMetadata file: /dev/vg-docker/metadataData Space Used: 799.4 MBData Space Total: 10.74 GBData Space Available: 9.938 GBMetadata Space Used: 1.729 MBMetadata Space Total: 10.63 GBMetadata Space Available: 10.63 GBUdev Sync Supported: trueDeferred Removal Enabled: falseDeferred Deletion Enabled: falseDeferred Deleted Device Count: 0Library Version: 1.02.107-RHEL7 (2015-12-01)
Execution Driver: native-0.2
Logging Driver: json-file
Plugins: Volume: localNetwork: null host overlay bridge
Kernel Version: 3.10.0-229.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 993.6 MiB
Name: net1
ID: TU6M:E6WM:PZDN:ULJX:EWKS:UPLQ:Z54D:XP52:64C7:Z4XN:TJ76:VG7O
WARNING: bridge-nf-call-ip6tables is disabled
Cluster store: etcd://172.28.0.2:4001
Cluster advertise: 172.28.0.3:0
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
41
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
41
總結
參考docker的介紹,centos7推薦使用devicemapper。同時,從docker官方文檔的介紹可以看到無論使用哪種storage driver均推薦掛載數據卷。后續,會繼續分析docker 當前多余數據卷的管理方法。
?http://blog.csdn.net/asd05txffh/article/details/51134995