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/目錄下(記得分區要設置開機掛載哦)。