博主这里的使用的是USB外挂的机械硬盘,通过硬盘盒链接。
使用systemd管理挂载的原因是Docker的根目录迁移到了这块硬盘上(注意,是根目录,不是容器挂载目录)
这里就直接贴出systemd
的配置文件和使用方法了
[Unit]
Description=Mount Ext4 External Drive
Before=local-fs.target
[Mount]
What=/dev/sda1 #磁盘路径
Where=/mnt/sda #挂载目录
Type=ext4 #分区类型
Options=defaults,noatime #挂载参数
TimeoutSec=30 #挂载超时
[Install]
WantedBy=docker.socket #可以确保docker启动之前磁盘挂载完成
倘若不需要这层关系,可以将[install]
字段改为
[Install]
WantedBy=multi-user.target
如果想要docker
在挂载完成之后启动的话,docker.socket
的systemd
配置文件需要加入如下字段
Requires=mnt-sda.mount
效果如上图。
然后执行以下命令即可
systemctl daemon-reload
systemctl enable --now mnt-sda.mount
现在磁盘就可以实现开机挂载,并且作为docker启动的条件了
这里使用docker仅作为演示,实际用systemd启动的服务都可以这么玩