docker 安装好后默认image存储目录在 /var/lib/docker 目录下,但是通常这个目录挂载的空间很小,所以我们在安装好 docker 后要注意修改 image 存储目录
一、查看当前目录
docker info
Containers: 6
Images: 27
Storage Driver: devicemapper
Pool Name: docker-8:17-34377337422-pool
Pool Blocksize: 65.54 kB
Backing Filesystem: xfs
Data file: /dev/loop0
Metadata file: /dev/loop1
Data Space Used: 15.5 GB
Data Space Total: 107.4 GB
Data Space Available: 91.87 GB
Metadata Space Used: 12.78 MB
Metadata Space Total: 2.147 GB
Metadata Space Available: 2.135 GB
Udev Sync Supported: true
Deferred Removal Enabled: false
Data loop file: /home/docker/devicemapper/devicemapper/data
Metadata loop file: /home/docker/devicemapper/devicemapper/metadata
Library Version: 1.02.107-RHEL7 (2015-10-14)
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.10.0-514.16.1.el7.x86_64
Operating System: CentOS Linux 7 (Core)
CPUs: 48
Total Memory: 251.7 GiB
Name: map-trafficft-train03.nmg01
ID: EZPC:SQMC:3OIZ:QNRV:IWXW:TMEI:TLYD:2TVK:OKBK:TVCI:KPRQ:AZPE
当然我这个是修改后的,修改后为、home/docker目录下
二、备份当前已有镜像
docker save -o 文件名.tar 镜像名
三、修改目录
查找配置文件
不同安装方式,每个版本配置文件好像不一样,有的是docker.service,有的是docker。我们可以先搜索一下docker.service,如果能搜索到则按照docker.service修改方法修改。我是没有搜索到docker.service,所以我搜索的是docker:
find . -name docker
./run/docker
./run/lock/subsys/docker
./home/docker
./home/docker/devicemapper/mnt/85e3a46c4424073ff5eac7c0f59916480b7857996ea247f895f133fbc61ba63c/rootfs/opt/ansible/ansible/lib/ansible/modules/cloud/docker
./home/docker/devicemapper/mnt/85e3a46c4424073ff5eac7c0f59916480b7857996ea247f895f133fbc61ba63c/rootfs/opt/ansible/ansible/test/units/modules/cloud/docker
./home/docker/devicemapper/mnt/85e3a46c4424073ff5eac7c0f59916480b7857996ea247f895f133fbc61ba63c/rootfs/opt/ansible/ansible/test/utils/docker
./home/docker/devicemapper/mnt/85e3a46c4424073ff5eac7c0f59916480b7857996ea247f895f133fbc61ba63c/rootfs/opt/ansible/ansible/test/integration/targets/docker
./home/docker/devicemapper/mnt/d86b865a73dd83d9972608816fbfeb7b7c9ac701764e2939f9d4056821584319/rootfs/usr/lib/python2.7/site-packages/docker
./home/docker/devicemapper/mnt/d86b865a73dd83d9972608816fbfeb7b7c9ac701764e2939f9d4056821584319/rootfs/opt/ansible/ansible/lib/ansible/modules/cloud/docker
./home/docker/devicemapper/mnt/d86b865a73dd83d9972608816fbfeb7b7c9ac701764e2939f9d4056821584319/rootfs/opt/ansible/ansible/test/units/modules/cloud/docker
./home/docker/devicemapper/mnt/d86b865a73dd83d9972608816fbfeb7b7c9ac701764e2939f9d4056821584319/rootfs/opt/ansible/ansible/test/utils/docker
./home/docker/devicemapper/mnt/d86b865a73dd83d9972608816fbfeb7b7c9ac701764e2939f9d4056821584319/rootfs/opt/ansible/ansible/test/integration/targets/docker
./home/docker/devicemapper/mnt/5689c9844ad255f7ed1a65d4e32897cc760d8095e1f28f07256c05a25d990f8c/rootfs/usr/lib/python2.7/site-packages/docker
./home/docker/devicemapper/mnt/5689c9844ad255f7ed1a65d4e32897cc760d8095e1f28f07256c05a25d990f8c/rootfs/opt/ansible/ansible/lib/ansible/modules/cloud/docker
./home/docker/devicemapper/mnt/5689c9844ad255f7ed1a65d4e32897cc760d8095e1f28f07256c05a25d990f8c/rootfs/opt/ansible/ansible/test/units/modules/cloud/docker
./home/docker/devicemapper/mnt/5689c9844ad255f7ed1a65d4e32897cc760d8095e1f28f07256c05a25d990f8c/rootfs/opt/ansible/ansible/test/utils/docker
./home/docker/devicemapper/mnt/5689c9844ad255f7ed1a65d4e32897cc760d8095e1f28f07256c05a25d990f8c/rootfs/opt/ansible/ansible/test/integration/targets/docker
./home/docker/devicemapper/mnt/c499fe8367d97af8a9ba8efbdc8626ef047053004eee3ca8f6450ca9507327f7/rootfs/usr/lib/python2.7/site-packages/docker
./home/docker/devicemapper/mnt/c499fe8367d97af8a9ba8efbdc8626ef047053004eee3ca8f6450ca9507327f7/rootfs/opt/ansible/ansible/lib/ansible/modules/cloud/docker
./home/docker/devicemapper/mnt/c499fe8367d97af8a9ba8efbdc8626ef047053004eee3ca8f6450ca9507327f7/rootfs/opt/ansible/ansible/test/units/modules/cloud/docker
./home/docker/devicemapper/mnt/c499fe8367d97af8a9ba8efbdc8626ef047053004eee3ca8f6450ca9507327f7/rootfs/opt/ansible/ansible/test/utils/docker
./home/docker/devicemapper/mnt/c499fe8367d97af8a9ba8efbdc8626ef047053004eee3ca8f6450ca9507327f7/rootfs/opt/ansible/ansible/test/integration/targets/docker
./etc/docker
./etc/sysconfig/docker
./etc/rc.d/init.d/docker
./var/log/docker
./var/lib/docker
./usr/share/bash-completion/completions/docker
./usr/bin/docker
./usr/libexec/docker
配置文件就是/etc/sysconfig/docker
修改配置文件
在配置文件中将other_args赋值为你想存储的目录,注意一定要带引号
# /etc/sysconfig/docker
#
# Other arguments to pass to the docker daemon process
# These will be parsed by the sysv initscript and appended
# to the arguments list passed to docker -d
other_args="--graph=/home/docker"
DOCKER_CERT_PATH=/etc/docker
# Resolves: rhbz#1176302 (docker issue #407)
DOCKER_NOWARN_KERNEL_VERSION=1
# Location used for temporary files, such as those created by
# # docker load and build operations. Default is /var/lib/docker/tmp
# # Can be overriden by setting the following environment variable.
# # DOCKER_TMPDIR=/var/tmp
四、重启docker
service docker restart
五、查看docker image 存储目录
docker info
六、将image load进来
docker load -i [docker备份文件.tar]
七、删除之前docker imaga目录