Docker一般会将数据默认存储到 /var/lib/docker 目录下。
使用 docker info 命令可以查看Root Dir 地址:
root@xxxxx:~# docker info
Containers: 14
Running: 11
Paused: 0
Stopped: 3
Images: 4
Server Version: 17.03.1-ce
Storage Driver: aufs
Root Dir: /var/lib/docker/aufs
Backing Filesystem: extfs
Dirs: 63
Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 4ab9917febca54791c5f071a9d1f404867857fcc
runc version: 54296cf40ad8143b62dbcaa1d90e520a2136ddfe
init version: 949e6fa
Security Options:
apparmor
seccomp
Profile: default
Kernel Version: 4.4.0-63-generic
Operating System: Ubuntu 16.04.2 LTS
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 31.42 GiB
Name: xxxxxx
ID: NRAQ:FZR6:K24A:JLGZ:WQOD:XHMD:2BPT:S26I:5KMV:7QX2:EHEK:C3CL
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
由上面的信息得知Docker的存储位置位于 /var/lib/docker 。那么如果修改其存储位置,只需要讲该目录挂在到一块新的分区或者建立一个软链接到该目录即可。
软连接方式:
#停止docker服务
root@xxxxxx:/var/lib# service docker stop
#备份原目录
root@xxxxxx:/var/lib# cp -a docker{,_bak}
#拷贝数据到新位置
root@xxxxxx:/var/lib# cp -a docker/ {new_location}/
#建立软连接:
root@xxxxxx:/var/lib# rm -rf docker/
root@xxxxxx:/var/lib# ln -s {new_location}/ docker
#启动docker
root@xxxxxx:/var/lib# service docker start
#检查移动后数据是否完整
root@xxxxxx:/var/lib# docker images
root@xxxxxx:/var/lib# docker ps -a
#如果docker完整并可用,删除备份
root@xxxxxx:/var/lib# rm -rf docker_bak/
挂载新分区的方式,请自行创建新的分区并挂载到/var/lib/docker/目录下(记得分区要设置开机挂载哦)。