Docker 修改默认存储路径的一个方法

docker 默认的存储路径在 /var/lib/docker下面,然而这个路径一般是挂载在/下面,因此空间不会太大。一些应用跑一段时间后就会报空间不足异常。

像我这里:

[root@datanode3 ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   50G  2.9G   48G   6% /
devtmpfs                 5.9G     0  5.9G   0% /dev
tmpfs                    5.9G     0  5.9G   0% /dev/shm
tmpfs                    5.9G   18M  5.9G   1% /run
tmpfs                    5.9G     0  5.9G   0% /sys/fs/cgroup
/dev/sda1               1014M  160M  855M  16% /boot
/dev/mapper/centos-home  873G   16G  857G   2% /home

明显放到/home下比较合适。

为了解决上面问题, 计划将docker的默认存储路径从/var/lib/docker中移出去,放到/home/下面

新建docker目录

[root@datanode3 home]# cd /home/
[root@datanode3 home]# mkdir docker
[root@datanode3 home]# cd docker/
[root@datanode3 docker]# pwd
/home/docker

停止docker服务

使用root用户

systemctl stop docker

复制原有数据到新目录下

cp -R /var/lib/docker/* /home/docker/

修改配置文件

我这里系统是Centos7.4
修改docker的systemd的 docker.service的配置文件

vim /usr/lib/systemd/system/docker.service

在里面的ExecStart的后面增加后如下:

# Docker version 18.06.1-ce
ExecStart=/usr/bin/dockerd --graph /home/docker
# or 有的内容如下(Docker version 18.09.5):
ExecStart=/usr/bin/dockerd --graph /home/docker -H fd:// --containerd=/run/containerd/containerd.sock

重启服务

[root@datanode1 home]# systemctl daemon-reload
[root@datanode1 home]# systemctl start docker
[root@datanode3 docker]# docker info
Containers: 10
 Running: 1
 Paused: 0
 Stopped: 9
Images: 8
Server Version: 18.06.1-ce
Storage Driver: overlay2
 Backing Filesystem: xfs
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
 Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 468a545b9edcd5932818eb9de8e72413e616e86e
runc version: 69663f0bd4b60df09991c08812a60108003fa340
init version: fec3683
Security Options:
 seccomp
  Profile: default
Kernel Version: 3.10.0-862.14.4.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 8
Total Memory: 11.68GiB
Name: datanode3
ID: 2APF:7RM4:SCV4:KYQF:7FE2:DMVK:WYIK:VFO7:UH7H:WDIB:UNRF:PGME
Docker Root Dir: /home/docker   # 这里就是修改后的路径了
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: false


你可能感兴趣的:(优化,docker,rancher,Rancher容器部署示例)