Docker 默认安装的情况下,会使用 /var/lib/docker/ 目录作为存储目录,用以存放拉取的镜像和创建的容器等。不过由于此目录一般都位于系统盘,遇到系统盘比较小,而镜像和容器多了后就容易尴尬,这里说明一下如何修改 Docker 的存储目录。
以我手头的一台 VPS 作为例子,可以看到这台机子本身有两块硬盘,我把数据盘 vdb 挂载到了/www 目录,目标就是将 Docker 存储目录移到/home/docker。
输入
docker info
可以查看程序信息,红框里就是默认的存储目录:
最简单粗暴的办法,当然就是直接把数据盘挂载到/var/lib/docker 目录下,不过这样对整体影响太大,其他程序需要使用数据盘时很不方便,所以还是从 Docker 端的修改入手。
官方文档的修改办法是编辑 /etc/docker/daemon.json 文件:
vi /etc/docker/daemon.json
默认情况下这个配置文件是没有的,这里实际也就是新建一个,然后写入以下内容:
{
"data-root": "/home/docker"
}
此文件还涉及默认源的设定,如果设定了国内源,那么实际就是在源地址下方加一行,写成:
{
"registry-mirrors": ["http://hub-mirror.c.163.com"],
"data-root": "/home/docker"
}
最新的镜像源
{
"registry-mirrors": [
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn",
"https://registry.docker-cn.com"
],
"data-root":"/home/docker"
}
保存退出,然后重启 docker 服务:
systemctl restart docker
再次查看
docker info