以前不知道 docker 的占用磁盘那么大,现在想迁移一下 docker 的工作目录,按照网上写的都行不通。
centos7 下,网上写的基本都是把目前移到新位置,然后在 /etc/docker/daemon.json 里加一行
data-root:目录 或者 graph:目录
我试了一下,都会导致 docker 服务无法启动。
请问怎么迁移
1
zhlxsh 2022-05-31 12:44:43 +08:00 via iPhone
要重新导镜像的。
这个方法其实是修改工作目录,并没有迁移的动作。 可以试一下把 docker 服务停了,然后把文件移动到你想要的位置,再修改配置为你移动的位置,最后启 docker 。我没试过,生产环境三思后行 |
2
Nitroethane 2022-05-31 12:51:59 +08:00 via iPhone
不应该看下 docker 服务的报错日志?
|
3
lixiang2017 2022-05-31 13:01:36 +08:00 via Android
不用重新导镜像, 别改 docker config, 生产环境没问题
1. stop docker kubelet 2. /var/lib/docker 移动到大磁盘下 3. 建立软链,ln -s 实际目录 /var/lib/docker 4. start docker kubelet |
4
ghmum OP @zhlxsh 我就是这么做的,这么做完之后 docker 服务直接不能启动了
@Nitroethane 我看的日志,但是应该没有说到具体的错误原因 @lixiang2017 这么试过了,可以启动 docker 服务。但是原来的 docker ps -a 和 docker image ls 都查不到原来的容器和镜像了。这个有办法解决吗? |
5
micean 2022-05-31 14:31:52 +08:00
启动不了的话先检查 /etc/systemd/system 里 docker 的配置
|
6
Silently 2022-05-31 14:52:11 +08:00 via iPhone
设置 docker 数据目录
service docker stop 把 docker 的文件都迁移到新数据目录中 /mnt/disk/docker/,命令为: rsync -avz /var/lib/docker/ /mnt/disk/docker/ 编辑 /etc/docker/daemon.json 配置文件新增 data-root 参数 vim /etc/docker/daemon.json 增加以下内容 "data-root": "/mnt/disk/docker/" 保存退出:wq sudo systemctl daemon-reload sudo systemctl restart docker 检查是否生效 docker info |
8
choury 2022-05-31 14:59:34 +08:00
起不来贴日志啊,啥都没有怎么知道什么原因呢
|
9
ghmum OP @choury
-- Unit docker.service has begun starting up. 5 月 31 15:02:00 bix dockerd[8159]: unable to configure the Docker daemon with file /etc/docker/daemon.j 5 月 31 15:02:00 bix systemd[1]: docker.service: main process exited, code=exited, status=1/FAILURE 5 月 31 15:02:00 bix systemd[1]: Failed to start Docker Application Container Engine. -- Subject: Unit docker.service has failed -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit docker.service has failed. -- -- The result is failed. 5 月 31 15:02:00 bix systemd[1]: Unit docker.service entered failed state. 5 月 31 15:02:00 bix systemd[1]: docker.service failed. |
10
ghmum OP |
11
hxsf 2022-05-31 15:12:26 +08:00
@ghmum #10 json 不加逗号?
报错 ` unable to configure the Docker daemon with file /etc/docker/daemon.` 这还不去检查配置文件吗? |
12
ghmum OP 抱歉各位大佬。眼瞎,docker 服务不能启动的原因是配置文件格式问题,少了逗号。
请问移动 docker 目录之后,原来的镜像和容器都不见了,这个怎么处理呢 |