如果您的Ubuntu系统(版本:22.0.3)硬盘只有64G,但已经下载了超过30G的Docker文件,那么迁移这些文件到挂载的硬盘中是必要的。这不仅可以释放硬盘空间,而且可以降低系统负载并提高稳定性。此外,这还可以保护您的Docker文件,以便在需要更换系统时轻松地导出这些文件
1、挂载的硬盘创建文件夹
mkdir docker_data
2、迁移原先dockers文件到挂载硬盘的目录里
# sudo cp -r /var/lib/docker /mnt/256G/docker_data
cd /var/lib/docker
mv * /mnt/256G/docker_data
3、修改docker配置文件
vim /lib/systemd/system/docker.service
把--data-root=/mnt/256G/docker_data放到ExecStart配置项最后面
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --data-root=/mnt/256G/docker_data
4、停止,重启docker
sudo systemctl stop docker.socket
sudo systemctl daemon-reload
sudo systemctl start docker
sudo systemctl status docker
如果出现下面错误可以执行sudo systemctl stop docker.socket
root@ITX:/home/saiita# sudo systemctl stop docker
sudo systemctl start docker
sudo systemctl status dockerWarning: The unit file, source configuration file or drop-ins of docker.service changed on disk. Run 'systemctl daemon-reload' to reload units.
Warning: Stopping docker.service, but it can still be activated by:
docker.socket
最后输入下面命令行刷新dockers
sudo systemctl daemon-reload
然后输入df -h可以查看下载的镜像是不是挂载到了外置硬盘里。
一般docker默认的是/var目录下面
root@123:/home/123# df -h |grep overlay2
overlay 234G 44G 179G 20% /mnt/256G/docker_data/data/overlay2/60d751bb88d8d9634f1b4299ef9300c8524bdb37264794f7221c806d57912a62/merged
overlay 234G 44G 179G 20% /mnt/256G/docker_data/data/overlay2/91fcc93d3fc14a5c111ffaf04f15afa1be02c5860709dd06190ee69a5a4795bb/merged
overlay 234G 44G 179G 20% /mnt/256G/docker_data/data/overlay2/66c7b6e74189053cdb05a89cbfb386858c06f255a80eacd81278f143fdde8622/merged
overlay 234G 44G 179G 20% /mnt/256G/docker_data/data/overlay2/e718d0b3f80695d0df64eb5ae992c25b78d6092c4e20ad1ff5a8e6acc651c25e/merged
overlay 234G 44G 179G 20% /mnt/256G/docker_data/data/overlay2/24d67f8ad4a8499d7969d03aaddce9b7be9d51e7582ff4b37c88d47d32827aa7/merged
overlay 234G 44G 179G 20% /mnt/256G/docker_data/data/overlay2/f96d327f039d9a26f262e1d0bbec7124bd8e8d0ffe4d8bbe23a46fbc9fe52454/merged
overlay 234G 44G 179G 20% /mnt/256G/docker_data/data/overlay2/ef827c72cc4c37ca0179023d26809d667f99b142ed1e6572bea0cf7846baa3b5/merged
overlay 234G 44G 179G 20% /mnt/256G/docker_data/data/overlay2/49869b50c727e9196634028e2ee4324a5bb6e02a0dc4a0f4a379d8d7fc37b2b9/merged
overlay 234G 44G 179G 20% /mnt/256G/docker_data/data/overlay2/f0ddc62a43bdf0aa85968f222d15f161340995576cb49b98de5fdc0c0b9425f1/merged
overlay 234G 44G 179G 20% /mnt/256G/docker_data/data/overlay2/533a12cecb0ceee6cf2aa0b2874a7f4ac62a6e499fe4ff3a0cce53a663a61f37/merged
overlay 234G 44G 179G 20% /mnt/256G/docker_data/data/overlay2/3e3ec7cd06e3691c98aa582b92dd60b9c8a8f84d9e2ee3f9ca1cc5353be2002a/merged
overlay 234G 44G 179G 20% /mnt/256G/docker_data/data/overlay2/b71834352a3c12993fa04956be3c80dcd41d03fc9461c03cee06b22982875e8e/merged
overlay 234G 44G 179G 20% /mnt/256G/docker_data/data/overlay2/395d05884b2ce64b4da9da3b4700834c8095b1b85f6655fa9491837e67e2779d/merged
overlay 234G 44G 179G 20% /mnt/256G/docker_data/data/overlay2/e2289e2ebec2423308a201fb558832daa42c930690b745ccd69144bb1a6ee22d/merged
overlay 234G 44G 179G 20% /mnt/256G/docker_data/data/overlay2/6fe9c2591e981087dd524dc8bfb9417a89b4a6cc8ed41f8439d8ee76a84a1803/merged
overlay 234G 44G 179G 20% /mnt/256G/docker_data/data/overlay2/0369fec76444da5e45926cf7151e23455c7a841ff5c7a0272b715f89dc257c3f/merged
overlay 234G 44G 179G 20% /mnt/256G/docker_data/data/overlay2/b76e47e59e1333e32558ea1c677303783b39b0177e9bb403d38ae99e73f97e67/merged
5、然后查看docker启动的服务
docker ps
6、其他
出现过一个问题就是/lib/systemd/system/docker.service里添加的配置项有时候会丢失。只要重新加上配置,然后重启docker就可以解决。
或者写个脚本定时检查配置项,丢失了就加上--data-root=/mnt/256G/docker_data。现在chatgpt可以解决这问题。几分钟的事情。
2023-04-05
使用下面命令行导致添加的配置项丢失,然后又恢复默认了。
又得重新添加容器。
sudo apt-get update
sudo apt-get upgrade
可以看这篇文章:《【教程】Ubuntu Docker 文件迁移到挂载的硬盘里(二)》
也可以通过脚本定时检查配置项,不过今天开始这篇文章的方法好像不生效了。
本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
暂无评论
要发表评论,您必须先 登录