更改 docker 根目录后 Docker 引擎无法启动

问题描述 投票:0回答:2

我刚刚在 Linux CentOs 7 上创建了一个新分区,之后我将 Docker 根目录从 /var/lib/docker 更改为 /data/docker。

在“docker.service”文件中我添加了以下配置:

ExecStart=/usr/bin/dockerd -g /data/docker/ -H fd:// --containerd=/run/containerd/containerd.sock

,之后我将数据从 /var/lib/docker 复制到我的新目录 /data/docker 然后我就这样做了

systemctl 守护进程重新加载

systemctl启动docker

但是

服务未启动,我收到此消息:

警告:磁盘上的 docker.service 已更改。运行“systemctl daemon-reload”来重新加载单元。

进程:16925 ExecStart=/usr/bin/dockerd -g /data/docker/ -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=1/FAILURE) 主PID: 16925 (code=exited, status=1/FAILURE)

Jun 29 23:26:37 linux.local systemd[1]: docker.service: 主进程退出,代码=退出,状态=1/FAILURE 6 月 29 日 23:26:37 linux.local systemd[1]:无法启动 Docker 应用程序容器引擎。 6 月 29 日 23:26:37 linux.local systemd[1]:单元 docker.service 进入失败状态。 6 月 29 日 23:26:37 linux.local systemd[1]:docker.service 失败。警告:磁盘上的 docker.service 已更改。运行“systemctl daemon-reload”来重新加载单元。

我的Linux版本:

操作系统:CentOS Linux 7(核心)CPE 内核:Linux 3.10.0-1160.90.1.el7.x86_64

Docker 版本:

客户端:Docker 引擎 - 社区版本:24.0.2 API 版本:1.43 Go 版本:go1.20.4 Git 提交:
cb74dfc 内置:2023 年 5 月 25 日星期四 21:55:21 操作系统/Arch:
linux/amd64 上下文:默认

服务器:Docker 引擎 - 社区引擎:版本:24.0.2 API版本:1.43(最低版本1.12)Go版本:
go1.20.4 Git 提交:659604f 构建:5 月 25 日星期四 21:54:24 2023 操作系统/Arch:linux/amd64 实验:
false containerd:版本:1.6.21 GitCommit:
3dce8eb055cbb6872793272b4f20ed16117344f8 runc:版本:
1.1.7 GitCommit:v1.1.7-0-g860f061 docker-init:版本:0.19.0 GitCommit:de40ad0

有人知道我应该做什么吗?

linux docker centos7 docker-engine
2个回答
0
投票

我不确定这是否真的是由我使用的 docker 版本引起的,但是我使用的 docker 版本无法识别选项“-g”,因此 docker 服务不知道在哪里docker根目录是。在我检查了 'dockerd' 已知的选项后,发现应该使用的选项是 '--data-root',在我用 '--data-root' 替换 -g' 后,docker.service 可以使用运行新的根目录!


0
投票

sudo vi /lib/systemd/system/docker.service

ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --data-root /xxx/dockerdata/docker

© www.soinside.com 2019 - 2024. All rights reserved.