小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

在centos6.x和centos7.x環(huán)境下停機(jī)擴(kuò)容docker的pool空間

 WindySky 2018-04-10

一、首先介紹一下docker的存儲驅(qū)動Device Mapper插件的工作原理

  如果在CentOS 、REHL 、Fedor或者其他默認(rèn)沒有 AUFS支持的Linux發(fā)行版上使用Docker,你需要用到Device Mapper的存儲插件。將這個插件設(shè)置為默認(rèn),它會把你所有的容器存儲到一個100G的簡短文件中,并且限制每個容器最大為10GB。最初Docker僅能在支持Aufs文件系統(tǒng)的Linux發(fā)行版上運(yùn)行,但是由于Aufs未能加入Linux內(nèi)核,為了尋求兼容性、擴(kuò)展性,Docker在內(nèi)部通過graphdriver機(jī)制這種可擴(kuò)展的方式來實(shí)現(xiàn)對不同文件系統(tǒng)的支持。目前,Docker支持Aufs,Devicemapper,Btrfs和Vfs四種文件系統(tǒng)。

查看linux系統(tǒng)是否支持aufs

1
#cat /proc/filesystems  | grep aufs #沒有結(jié)果表示不支持

  Device Mapper插件是基于Device Mapper的“精簡目標(biāo)”的特性。它實(shí)際上是目標(biāo)塊設(shè)備的快照,之所以被稱為“精簡”是因?yàn)樗试S精簡配置。精簡配置意味著你有一個(希望很大)可用存儲塊的池,接著你可以從那個池中創(chuàng)建任意大小的塊設(shè)備(虛擬磁盤,如有需要);在你實(shí)際讀寫后,這些存儲塊將會被標(biāo)記為已使用(或者從池中拿走)。這意味著你是可以超額使用這個池,比如在一個 100GB 的池里面創(chuàng)建幾千個 10GB 的卷,甚至可能是一個 100TB 的卷在一個 1GB 的池里面。只要你的實(shí)際讀寫的塊的容量不大于池的大小,你怎么做都可以。除此之外,精簡目標(biāo)的方式是可以做快照的。這表明無論何時,你都可以創(chuàng)建一個存在的卷的淺拷貝。在用戶看來,就像你有兩個一樣的卷,它們可以獨(dú)立地各自修改。即使你做了一個完整的拷貝,除了在時間上它是瞬間發(fā)生的(即使是很大的卷),它們不會兩次重復(fù)使用存儲。額外的存儲只有當(dāng)其中任何一卷有變化的時候才會發(fā)生,然后精簡目標(biāo)會從池里面分配一個存儲快。從本質(zhì)上來看,“精簡目標(biāo)”實(shí)際上使用了兩個存儲設(shè)備:一個(大)的是存儲塊池自己,還有一個小的存儲了一些元數(shù)據(jù)。這些元數(shù)據(jù)中包括了卷、快照、以及每個卷的塊或者快照同存儲池中塊的映射信息。

  當(dāng) Docker 使用 Device Mapper 存儲插件的時候,它會在 /var/lib/docker/devicemapper/devicemapper/data和/var/lib/docker/devicemapper/devicemapper/metadata 下創(chuàng)建兩個文件(如果它們不存在)來存儲對應(yīng)的存儲池和相關(guān)的元數(shù)據(jù)。這非常方便,你不需要做任何安裝部署的工作(你不需要額外的分區(qū)來存儲 Docker容器,或者建立LVM 或其他類似的東西)然而它也有兩個缺點(diǎn):

第一:存儲池會有一個默認(rèn)100GB 的容量

第二:它將會被稀疏文件所支持。從磁盤的使用效率的觀點(diǎn)來看,這還不錯的(就像在精簡池中的卷,它一開始是小的,只有當(dāng)實(shí)際需要寫的時候才會使用磁盤的存儲塊)但是從性能的角度來看就不那么好了,因?yàn)?VFS 增加了一些額外的負(fù)擔(dān),特別是"第一次寫的時候"。

PS:容器快照保存容器中所有的更新,當(dāng)數(shù)據(jù)寫入容器時,devicemapper從存儲池中按需分配空間。

參考鏈接:http://www.cnblogs.com/feisky/p/4106004.html

二、這里介紹在centos6.x環(huán)境和centos7.x環(huán)境擴(kuò)容docker的pool的方法

參考鏈接:http://dl528888.blog.51cto.com/2382721/1618893

其實(shí)擴(kuò)容docker的pool空間也有幾種方式:

第一種:使用文件

1
2
#dd if=/dev/zero of=/var/lib/docker/devicemapper/devicemapper/data bs=1G count=0 seek=500
這樣將會創(chuàng)建一個500G的稀疏文件,如果不使用 seek 選項(xiàng),那么它會創(chuàng)建一個普通文件,而不是一個稀疏文件

第二種:使用磁盤

額外在docker宿主機(jī)添加一塊磁盤,然后格式化磁盤,并軟鏈接到docker數(shù)據(jù)存儲目錄

1
2
#ln -s /dev/sdb /var/lib/docker/devicemapper/devicemapper/data
然后再重啟docker服務(wù)

第三種:使用邏輯卷(沒有測試過)

1
ln -s /dev/mapper/centos-dockerdata /var/lib/docker/devicemapper/devicemapper/data

下面開始在centos6.x和centos7.x下進(jìn)行操作

1、centos6.x 環(huán)境

配置yum源,使用yum安裝docker-io,啟動docker,這些在這里不在贅述了。

第一種方式:簡單介紹

備份鏡像和容器

1
2
#docker save -o centos6.tar centos:centos6      #備份鏡像
#docker export httpserver > /root/httpserver.tar  #備份容器

備份iptables規(guī)則

1
#cp /etc/sysconfig/iptables /root/iptables_backup  #在恢復(fù)容器的時候,這些規(guī)則可以作為參考

停止當(dāng)前docker所有的容器

1
#docker stop `docker ps -a -q`

停掉docker服務(wù)

1
#service docker stop

備份舊的docker數(shù)據(jù)

1
#cp -a /var/lib/docker/ /root/docker_backup/  #備份舊數(shù)據(jù)是為了進(jìn)行失敗回滾

刪除舊的docker數(shù)據(jù)文件

1
#rm -rf /var/lib/docker/

使用dd命令增大pool容量

1
#mkdir /var/lib/docker/devicemapper/devicemapper -pv  #創(chuàng)建文件夾

生成200G的pool空間

1
2
3
4
5
6
7
#dd if=/dev/zero of=/var/lib/docker/devicemapper/devicemapper/data bs=1G count=0 seek=200 #增大到200G
0+0 records in
0+0 records out
0 bytes (0 B) copied, 0.000379694 s, 0.0 kB/s
#ll /var/lib/docker/devicemapper/devicemapper/  #查看pool文件大小
total 0
-rw-r--r-- 1 root root 214748364800 Aug 16 16:13 data

啟動docker

1
2
#systemctl start docker  #如果可以正常啟動,pool容器就會擴(kuò)大到200G
通過查看docker的pool空間大小來確認(rèn),使用命令:docker info

第二種方式:著重介紹

docker的安裝就不說了,直接介紹擴(kuò)容pool空間

查看docker默認(rèn)的pool空間大小,如下:

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
#docker info
Containers: 1
Images: 2
Storage Driver: devicemapper
 Pool Name: docker-8:3-656635-pool
 Pool Blocksize: 65.54 kB
 Backing Filesystem: extfs
 Data file/dev/loop0
 Metadata file/dev/loop1
 Data Space Used: 640.2 MB
 Data Space Total: 107.4 GB             #pool空間為107G
 Data Space Available: 27.3 GB
 Metadata Space Used: 1.044 MB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.146 GB
 Udev Sync Supported: true
 Deferred Removal Enabled: false
 Data loop file/var/lib/docker/devicemapper/devicemapper/data
 Metadata loop file/var/lib/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.89-RHEL6 (2014-09-01)
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 2.6.32-504.el6.x86_64
Operating System: <unknown>
CPUs: 2
Total Memory: 992.4 MiB
Name: test
ID: BIW3:V2R2:7CWN:XQWW:4WO2:PUYO:JHOG:3N3F:DMU6:TKVR:R2EC:CORL

查看安裝的docker 版本

1
2
3
4
5
6
7
8
9
10
11
#docker version
Client version: 1.7.1
Client API version: 1.19
Go version (client): go1.4.2
Git commit (client): 786b29d/1.7.1
OS/Arch (client): linux/amd64
Server version: 1.7.1
Server API version: 1.19
Go version (server): go1.4.2
Git commit (server): 786b29d/1.7.1
OS/Arch (server): linux/amd64

然后添加一塊獨(dú)立的磁盤,并格式化,如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#fdisk -l
Disk /dev/sda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0009053b
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          26      204800   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              26          52      204800   82  Linux swap / Solaris
Partition 2 does not end on cylinder boundary.
/dev/sda3              52        3917    31046656   83  Linux
Disk /dev/sdb: 128.8 GB, 128849018880 bytes      #新添加的磁盤
255 heads, 63 sectors/track, 15665 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
格式化:
#mkfs.ext4 /dev/sdb

在容器中創(chuàng)建文件和安裝httpd服務(wù)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
查看鏡像
# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
centos6             latest              273a1eca2d3a        2 weeks ago         194.6 MB
查看容器
# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                  NAMES
43f8196d81fc        centos6             "/bin/bash"         2 hours ago         Up 3 seconds        0.0.0.0:5000->80/tcp   http
進(jìn)入容器安裝httpd,創(chuàng)建文件
#docker attach 43f8196d81fc
#vi docker_test.txt 
this is a backup file in docker host
#yum install httpd -y
創(chuàng)建默認(rèn)頁面:
#echo "<h1>hello docker!</h1>" > /var/www/html/index.html
啟動httpd
#service httpd start
在瀏覽器訪問:http://10.0.90.26:5000

wKioL1e1GSqTJE08AAA9_WTZ_Ls579.png

備份docker所有的鏡像和容器,并將新添加的磁盤軟鏈到docker數(shù)據(jù)文件目錄

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
42
43
44
45
46
47
48
49
50
51
52
53
54
備份鏡像
#docker save -o centos6_2.tar  centos6
備份容器
#docker export http > /root/centos6_http2.tar
停止docker中正在運(yùn)行的所有容器
#docker stop `docker ps -a -q`
停掉docker服務(wù)
#service docker stop
備份docker的數(shù)據(jù)文件目錄,以免出現(xiàn)意外的情況下回滾數(shù)據(jù)
#cp -a /var/lib/docker /root/BackUp/
刪除舊的docker數(shù)據(jù)
#rm -rf /var/lib/docker/
創(chuàng)建docker數(shù)據(jù)存儲路徑
#mkdir -pv  /var/lib/docker/devicemapper/devicemapper
然后創(chuàng)建軟連接,指向添加的磁盤設(shè)備
# ln -sv /dev/sdb /var/lib/docker/devicemapper/devicemapper/data
`/var/lib/docker/devicemapper/devicemapper/data' -> `/dev/sdb'
啟動docker服務(wù)
# service docker start
Starting docker:        [  OK  ]
查看docker數(shù)據(jù)存儲路徑文件
# ll /var/lib/docker/devicemapper/devicemapper/
total 820
lrwxrwxrwx 1 root root          8 Aug 17 20:08 data -> /dev/sdb
-rw------- 1 root root 2147483648 Aug 17 20:09 metadata
然后再次運(yùn)行docker info,查看pool空間是否擴(kuò)容成功,如下
#docker info
Containers: 0
Images: 0
Storage Driver: devicemapper
 Pool Name: docker-8:3-656121-pool
 Pool Blocksize: 65.54 kB
 Backing Filesystem: extfs
 Data file/dev/loop0
 Metadata file/dev/loop1
 Data Space Used: 305.7 MB
 Data Space Total: 128.8 GB        ##已經(jīng)由原來的107擴(kuò)容到了128G
 Data Space Available: 128.5 GB
 Metadata Space Used: 811 kB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.147 GB
 Udev Sync Supported: true
 Deferred Removal Enabled: false
 Data loop file/var/lib/docker/devicemapper/devicemapper/data
 Metadata loop file/var/lib/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.89-RHEL6 (2014-09-01)
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 2.6.32-504.el6.x86_64
Operating System: <unknown>
CPUs: 2
Total Memory: 992.4 MiB
Name: test
ID: BIW3:V2R2:7CWN:XQWW:4WO2:PUYO:JHOG:3N3F:DMU6:TKVR:R2EC:CORL

最后恢復(fù)鏡像和容器,并測試

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
# docker load --input centos6_2.tar    #恢復(fù)鏡像#
# cat centos6_http2.tar | docker import - webserver:test   #將容器恢復(fù)成鏡像
dd0deadd4cb5bee6c6febb21f4e884a846a853396a24fd5eb3cab1a9640b9fcb
查看恢復(fù)后的鏡像
# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED              VIRTUAL SIZE
webserver           test                dd0deadd4cb5        About a minute ago   266.4 MB
centos6             latest              273a1eca2d3a        2 weeks ago          194.6 MB
通過webserver這個鏡像重新run起來一個web容器
# docker run -d -i -t --privileged=true -p 5000:80 --name http webserver:test  /bin/bash
9b07c82278421fe3395a5504e0e4c9c20513018edfcb0342fa1db961c6680751
# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS                  NAMES
9b07c8227842        webserver:test      "/bin/bash"         About a minute ago   Up About a minute   0.0.0.0:5000->80/tcp   http 
進(jìn)入容器查看擴(kuò)容pool之前創(chuàng)建的文件以及web默認(rèn)頁面
#docker attach 9b07c8227842
[root@9b07c8227842 /]
[root@9b07c8227842 ~]# ll
total 20
-rw------- 1 root root 2525 Jul 29 14:12 anaconda-ks.cfg
-rw-r--r-- 1 root root   37 Aug 17 09:38 docker_test.txt
-rw-r--r-- 1 root root 7275 Jul 29 14:12 install.log
-rw-r--r-- 1 root root 1680 Jul 29 14:11 install.log.syslog
[root@9b07c8227842 ~]# cat docker_test.txt      #可以看到擴(kuò)容之前創(chuàng)建的文件
this is a backup file in docker host  
#cat /var/www/html/index.html                   #創(chuàng)建的web頁面也是存在的
<h1>hello docker!</h1>
啟動http服務(wù),在瀏覽器訪問http://10.0.90.26:5000 是可以正常訪問的。

2、centos7.x環(huán)境

第一種方法:使用文件(dd 命令)

配置yum源并安裝docker

1
2
3
4
5
6
7
8
9
#cat /etc/yum.repos.d/docker.repo
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7
enabled=1
gpgcheck=1
gpgkey=
使用yum來安裝docker
#yum install docker-engine -y

啟動docker

1
#systemctl start docker

查看docker詳細(xì)信息:

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
#docker info
 Containers: 2
 Running: 2
 Paused: 0
 Stopped: 0
Images: 2
Server Version: 1.12.0
Storage Driver: devicemapper
 Pool Name: docker-8:2-524741-pool
 Pool Blocksize: 65.54 kB
 Base Device Size: 10.74 GB
 Backing Filesystem: xfs
 Data file/dev/loop0
 Metadata file/dev/loop1
 Data Space Used: 584.5 MB
 Data Space Total: 107.4 GB       #pool空間為107G
 Data Space Available: 29.43 GB
 Metadata Space Used: 1.065 MB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.146 GB
 Thin Pool Minimum Free Space: 10.74 GB
 Udev Sync Supported: true
 Deferred Removal Enabled: false
 Deferred Deletion Enabled: false
 Deferred Deleted Device Count: 0
 Data loop file/var/lib/docker/devicemapper/devicemapper/data
 Metadata loop file/var/lib/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.107-RHEL7 (2015-10-14)
 ……

可以看到docker版本是1.12.0,pool是107.4G,已經(jīng)使用了584.5MB

查看docker鏡像和容器的信息,如下:

1
2
3
4
5
6
7
8
9
#docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              centos6             a3c09d36ab4a        2 weeks ago         194.6 MB
centos              latest              970633036444        2 weeks ago         196.7 MB
#docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                  NAMES
eab85feb5eee        centos:centos6      "/bin/bash"         21 hours ago        Up 15 minutes       0.0.0.0:5000->80/tcp   testweb
adbf1d4ccc10        centos:centos6      "/bin/bash"         27 hours ago        Up 13 minutes                              web
ps:我事先在testweb容器中創(chuàng)建了testfile.txt文件,內(nèi)容是Hello docker!,等擴(kuò)容恢復(fù)之后,看此文件是否存在!

接下來開始備份docker鏡像和容器

1
2
3
4
5
備份所有docker的container
#docker ps -a | grep -v "NAMES" | awk '{print $NF}'|xargs -I {} sh -c "docker export {} > /root/docker_{}.tar"
備份鏡像:
#docker save -o centos6.tar centos:centos6
#docker save -o centos7.tar centos

停掉當(dāng)前正在運(yùn)行的容器

1
#docker stop eab85feb5eee adbf1d4ccc10

停掉docker服務(wù)并備份docker舊數(shù)據(jù)

1
2
3
4
5
停掉docker
#systemctl stop docker
備份docker舊數(shù)據(jù)
#mkdir /root/docker_backup
#cp -a /var/lib/docker/ /root/docker_backup/

再將docker舊數(shù)據(jù)刪除

1
#rm -rf /var/lib/docker/

使用dd命令生成一個大文件作為pool的容量空間,具體大小根據(jù)情況自定義

1
2
3
4
5
6
7
8
9
#mkdir /var/lib/docker/devicemapper/devicemapper -pv
#dd if=/dev/zero of=/var/lib/docker/devicemapper/devicemapper/data bs=1G count=0 seek=200   #增大到200G
0+0 records in
0+0 records out
0 bytes (0 B) copied, 0.000379694 s, 0.0 kB/s
查看
#ll /var/lib/docker/devicemapper/devicemapper/
total 0
-rw-r--r-- 1 root root 214748364800 Aug 16 16:13 data

然后啟動docker,查看pool空間是否擴(kuò)容成功

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
啟動docker
#systemctl start docker    
查看docker的pool空間大小
# docker info
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 1.12.0
Storage Driver: devicemapper
 Pool Name: docker-8:2-524675-pool
 Pool Blocksize: 65.54 kB
 Base Device Size: 10.74 GB
 Backing Filesystem: xfs
 Data file/dev/loop0
 Metadata file/dev/loop1
 Data Space Used: 38.2 MB
 Data Space Total: 214.7 GB       ##可以看到pool的空間已經(jīng)是200G
 Data Space Available: 27.45 GB
 Metadata Space Used: 1.507 MB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.146 GB
 Thin Pool Minimum Free Space: 21.47 GB
 Udev Sync Supported: true
 Deferred Removal Enabled: false
 Deferred Deletion Enabled: false
 Deferred Deleted Device Count: 0
 Data loop file/var/lib/docker/devicemapper/devicemapper/data
 Metadata loop file/var/lib/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.107-RHEL7 (2015-10-14)
Logging Driver: json-file
……

剩下的任務(wù)就是恢復(fù)之前備份的鏡像和容器了,查看數(shù)據(jù)是否恢復(fù)成功

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
恢復(fù)images
#docker load --input centos6.tar 
6b5c6954e3d5: Loading layer [==================================================>] 202.2 MB/202.2 MB
Loaded image: centos:centos6
[root@docker ~]# docker load --input centos7.tar 
Loaded image: centos:centos6
f59b7e59ceaa: Loading layer [==================================================>] 204.3 MB/204.3 MB
Loaded image: centos:latest
恢復(fù)容器
[root@docker ~]# cat docker_testweb.tar | docker import - testweb:new
sha256:12f36d4bd6105ec495893df2b356f3d1046ebecafa72a2c60f0ff487806f9dac
[root@docker ~]# cat docker_web.tar | docker import - web:new
sha256:ef7db6ffb3e0cf59d78dd46deba1e39f047960ec8835552b37c1d724b6ec42d8
查看鏡像
#docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
web                 new                 ef7db6ffb3e0        5 seconds ago       269.2 MB
testweb             new                 12f36d4bd610        24 seconds ago      194.6 MB
centos              centos6             a3c09d36ab4a        2 weeks ago         194.6 MB
centos              latest              970633036444        2 weeks ago         196.7 MB

使用testweb鏡像重新run起來一個容器,查看在擴(kuò)容pool空間之間創(chuàng)建的文件是否可以恢復(fù)

1
2
3
4
5
6
7
8
9
10
11
12
# docker run -d -i -t --privileged -p 5000:80 --name web1 testweb:new /bin/bash
9edc76e959ba336381c58f9ccf570d04818961e9c6e91a164a7ea2b49c6b5a0a
進(jìn)入容器
#docker attach 222140ba7bc5
[root@222140ba7bc5 ~]# ll
total 20
-rw------- 1 root root 2525 Jul 29 14:12 anaconda-ks.cfg
-rw-r--r-- 1 root root 7275 Jul 29 14:12 install.log
-rw-r--r-- 1 root root 1680 Jul 29 14:11 install.log.syslog
-rw-r--r-- 1 root root   14 Aug 16 06:12 testfile.txt
#cat  testfile.txt 
Hello docker!        #說明是可以正?;謴?fù)的

補(bǔ)充:如果容器都使用默認(rèn)的10g空間,遷移沒有出現(xiàn)問題,但如果容器進(jìn)行了動態(tài)擴(kuò)展,比如默認(rèn)10g空間,你擴(kuò)展到了30g或者更高,那么備份恢復(fù)容器的時候,會出現(xiàn)下面報錯 

[c3c929fe] +job import(-, cocos-play, )

write /var/lib/docker/devicemapper/mnt/19b84c235a7ed914871c0f10b5b17af9fc89955b077ad85afe0ec6e4b253c92b/rootfs/home/www/cocosplay/uploads/neatgame/ah2ssp/r_scene_20.cpk: no space left on device

所以建議大家不要動態(tài)擴(kuò)展容器磁盤空間,盡量使用volume來掛載?。?!

第二種方法:使用磁盤

說明:在centos7.x安裝的docker(1.12.0),使用磁盤方式擴(kuò)容pool無法成功,一切準(zhǔn)備OK之后,啟動docker報錯,如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
啟動docker服務(wù)
# systemctl start  docker.service
Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.
報錯了,然后根據(jù)提示,查看
#systemctl status docker.service
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Wed 2016-08-17 14:55:40 CST; 53s ago
     Docs: https://docs.docker.com
  Process: 2532 ExecStart=/usr/bin/dockerd (code=exited, status=1/FAILURE)
 Main PID: 2532 (code=exited, status=1/FAILURE)
   Memory: 4.0K
   CGroup: /system.slice/docker.service
Aug 17 14:55:39 docker systemd[1]: Starting Docker Application Container Engine...
Aug 17 14:55:39 docker dockerd[2532]: time="2016-08-17T14:55:39.528322618+08:00" level=info msg="libcontainerd: new containerd process, pid: 2538"
Aug 17 14:55:40 docker dockerd[2532]: time="2016-08-17T14:55:40.549224503+08:00" level=error msg="[graphdriver] prior storage driver \"devicemapper\" failed: devmapper: Unable to grow loopb...alid argument"
Aug 17 14:55:40 docker dockerd[2532]: time="2016-08-17T14:55:40.549448713+08:00" level=fatal msg="Error starting daemon: error initializing graphdriver: devmapper: Unable to grow loopback f...alid argument"
Aug 17 14:55:40 docker systemd[1]: docker.service: main process exited, code=exited, status=1/FAILURE
Aug 17 14:55:40 docker systemd[1]: Failed to start Docker Application Container Engine.
Aug 17 14:55:40 docker systemd[1]: Unit docker.service entered failed state.
Aug 17 14:55:40 docker systemd[1]: docker.service failed.
Hint: Some lines were ellipsized, use -l to show in full.
Google了很多遍,依然無法找到類似的現(xiàn)象,不知道什么問題導(dǎo)致的。如果有哪位朋友遇到過,還請多多指教!

初學(xué)docker,不足之處,請多多指出!

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多