在linux平臺(tái)下涩哟,docker默認(rèn)的數(shù)據(jù)存儲(chǔ)位置是:/var/lib/docker
帽馋。
一般的云服務(wù)器系統(tǒng)盤都比較蟹⒈省(比如阿里云默認(rèn)是20G)泣洞,像docker image這種動(dòng)輒幾百兆的文件,裝不了多少就會(huì)把磁盤空間占滿了布蔗。所以需要修改docker的數(shù)據(jù)存儲(chǔ)位置腐魂,將它存儲(chǔ)到其他掛載的磁盤上遏考。
有兩種方法能修改存儲(chǔ)位置:
第一種翩腐,使用軟連接的方式修改路徑:
ln -s /new-path/docker /var/lib/docker
使用docker info
查看存儲(chǔ)位置:
...
Storage Driver: devicemapper
...
Data loop file: /new-path/docker/devicemapper/devicemapper/data
WARNING: Usage of loopback devices is strongly discouraged for production use. Use `--storage-opt dm.thinpooldev` to specify a custom block storage device.
...
會(huì)發(fā)現(xiàn)后面跟著一個(gè)Warning鸟款,但沒發(fā)現(xiàn)有啥影響,所以暫時(shí)就先這樣了茂卦。
第二種何什,使用參數(shù)--graph
指定存儲(chǔ)位置(推薦)
centos6下,修改(或新建)文件/etc/sysconfig/docker
// 首先關(guān)閉docker
service docker stop
vi /etc/sysconfig/docker
other_args="--graph=/new-path/docker"
// 重啟docker服務(wù)
service docker start
centos7下等龙,修改docker.service
文件处渣,使用-g參數(shù)指定存儲(chǔ)位置
vi /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd --graph /new-path/docker
// reload配置文件
systemctl daemon-reload
// 重啟docker
systemctl restart docker.service
如果docker是1.12或以上的版本,可以修改(或新建)daemon.json
文件蛛砰。修改后會(huì)立即生效罐栈,不需重啟docker服務(wù)。
[$] vi /etc/docker/daemon.json
{"registry-mirrors": ["http://7e61f7f9.m.daocloud.io"]}
// 添加內(nèi)容:
{"graph": "/new-path/docker"}
// 文件修改后的內(nèi)容:
[$] cat /etc/docker/daemon.json
{
"registry-mirrors": ["http://7e61f7f9.m.daocloud.io"],
"graph": "/new-path/docker"
}
可以看到泥畅,我把加速鏡像地址也配置在了daemon.json
中悠瞬,使用的是daoCloud的服務(wù)。