Docker 服务延时启动等待 ISCSI 挂载完成

文章目录[隐藏]

背景

有台服务器 docker 容器的映射文件用的通过 ISCSI 挂载的目录 /opt/data,于是启动的时候可能就会出问题,iscsi 还没挂载完成 docker 服务就启动了,所以需要简单修改一下

操作步骤

  1. 通过 service status docker 找到配置文件 Loaded: loaded (/lib/systemd/system/docker.service; enabled; preset: enabled)
  2. 编辑 /lib/systemd/system/docker.service找到原始的启动命令ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock 前面添加 # 注释掉
  3. 新增启动命令ExecStart=/bin/bash -c "while ! mountpoint -q /opt/data; do echo 'Waiting for iSCSI mount...'; sleep 5; done; /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock",注意修改 /opt/data 为真实映射目录,修改 后面的 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock 为原始启动命令

重启测试

# systemctl daemon-reload
# systemctl restart docker.service

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注