>
目錄
- 前言
- 查看磁盤大小
- 停止docker服務
- 創建新目錄
- 拷貝原數據
- 查找docker.service文件位置
- 修改docker.service文件
- 重啟docker
- 確認修改
- 再次確認
前言
docker默認數據存儲目錄為/var/lib/docker
,在docker的使用中隨著下載鏡像越來越多,構建鏡像、運行容器越來越多, 數據目錄必然會逐漸增大;當所有docker鏡像、容器對磁盤的使用達到上限時,就需要對數據目錄進行遷移。
查看磁盤大小
[root@localhost system]# df -h 文件系統 容量 已用 可用 已用% 掛載點 devtmpfs 16G 0 16G 0% /dev tmpfs 16G 0 16G 0% /dev/shm tmpfs 16G 12M 16G 1% /run tmpfs 16G 0 16G 0% /sys/fs/cgroup /dev/mapper/centos-root 50G 40G 11G 80% / /dev/mapper/centos-home 957G 14G 944G 2% /home /dev/vda1 1014M 152M 863M 15% /boot tmpfs 3.2G 0 3.2G 0% /run/user/0
此處,我們可以看到,home
的存儲空間最大,我們將docker遷移到這個目錄下。
停止docker服務
systemctl stop docker
創建新目錄
mkdir -p /home/docker/lib
拷貝原數據
cp -r /var/lib/docker/ /home/docker/lib/
查找docker.service文件位置
[root@localhost system]# systemctl status docker.service ● docker.service - Docker Application Container Engine ############# 我們可以看到docker.service的存儲位置在/etc/systemd/system/docker.service Loaded: loaded (/etc/systemd/system/docker.service; enabled; vendor preset: disabled) Active: inactive (dead) since 四 2023-06-29 18:20:51 CST; 14min ago Docs: https://docs.docker.com Process: 1154 ExecStart=/usr/bin/dockerd (code=exited, status=0/SUCCESS) Main PID: 1154 (code=exited, status=0/SUCCESS)
修改docker.service文件
vim /etc/systemd/system/docker.service
### 找到 ExecStart=/usr/bin/dockerd 配置,新增--data-root=/home/docker/lib/docker ### 原配置 ExecStart=/usr/bin/dockerd ### 修改后配置 ### 新版docker使用--data-root,舊版使用--graph=/home/docker/lib/docker ExecStart=/usr/bin/dockerd --data-root=/home/docker/lib/docker
重啟docker
systemctl daemon-reload systemctl restart docker systemctl enable docker
確認修改
docker info
執行結果
…
### 看到此處代表已經修改成功了
Docker Root Dir: /home/docker/lib/docker
…
再次確認
df
overlay 1003251076 14163212 989087864 2% /home/docker/lib/docker/overlay2/2f487483e581469c5731a20e4f775591caaeb8634ea3c6a8a325c15cd877ab1f/merged overlay 1003251076 14163212 989087864 2% /home/docker/lib/docker/overlay2/52ecff0880adeee2444dabd749259f589f2311d84479563cd0561025e200321d/merged overlay 1003251076 14163212 989087864 2% /home/docker/lib/docker/overlay2/6fb351e9034522ef64ba94056c1e957dd62cde9e4a508300021a12d63dc20d0b/merged
>