|
10 | 10 | - `docker system prune` 命令可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及 dangling 镜像(即无 tag 的镜像)。 |
11 | 11 | - 迁移 `/var/lib/docker` 目录: |
12 | 12 | 1. `systemctl stop docker` 停止 docker 服务 |
13 | | - 2. 创建新的 docker 目录,执行命令 `df -h`,找一个大的磁盘。比如,`/home/`,并构建 `/home/docker/lib` |
14 | | - 3. 迁移 `/var/lib/docker` 目录下面的文件到 `/home/docker/lib`: |
| 13 | + 2. 迁移 `/var/lib/docker` 目录下面的文件到 `/media/pc/data/docker/lib/docker`(任意非系统盘位置): |
15 | 14 | ```bash |
16 | | - rsync -avz /var/lib/docker /home/docker/lib/ |
| 15 | + sudo cp -r /var/lib/docker /media/pc/data/docker/lib/docker |
17 | 16 | ``` |
18 | | - 4. 配置 `/etc/systemd/system/docker.service.d/devicemapper.conf`。查看 `devicemapper.conf` 是否存在。如果不存在,就新建。 |
19 | | - ```bash |
20 | | - sudo mkdir -p /etc/systemd/system/docker.service.d/ |
21 | | - sudo vi /etc/systemd/system/docker.service.d/devicemapper.conf |
22 | | - ``` |
23 | | - 5. 然后在 `devicemapper.conf` 写入:(同步的时候把父文件夹一并同步过来,实际上的目录应在 `/home/docker/lib/docker`) |
| 17 | + 3. 在 `vim /etc/docker/daemon.json` 中配置镜像和容器的保存位置,刚安装 docker 后没有该文件,需要新建。 |
24 | 18 | ``` |
25 | | - [Service] |
26 | | - ExecStart= |
27 | | - ExecStart=/usr/bin/dockerd --graph=/home/docker/lib/docker |
| 19 | + { |
| 20 | + "data-root": "/media/pc/data/docker/lib/docker", |
| 21 | + "storage-driver": "overlay2" |
| 22 | + } |
28 | 23 | ``` |
29 | | - 6. 重新加载 docker: |
| 24 | + 4. 重新加载 docker: |
30 | 25 | ```bash |
31 | | - systemctl daemon-reload |
32 | | - systemctl restart docker |
33 | | - systemctl enable docker |
| 26 | + sudo systemctl daemon-reload |
| 27 | + sudo systemctl restart docker |
| 28 | + sudo systemctl enable docker |
34 | 29 | ``` |
35 | | - 7. 确定容器没问题后删除 `/var/lib/docker/` 目录即可。 |
| 30 | + 5. `docker info` 查看 docker 镜像存储位置是否符合预期。 |
| 31 | + 6. 确定容器没问题后删除 `/var/lib/docker/` 目录即可。 |
0 commit comments