This commit is contained in:
48
Docker/Files/docker.service
Normal file
48
Docker/Files/docker.service
Normal file
@@ -0,0 +1,48 @@
|
||||
# Github仓库示例地址: https://github.com/moby/moby/blob/master/contrib/init/systemd/docker.service
|
||||
# 文件位置: /usr/lib/systemd/system/docker.service
|
||||
|
||||
[Unit]
|
||||
# 服务的描述信息
|
||||
Description=Docker Application Container Engine
|
||||
# 指向 Docker 官方文档,便于 systemd 工具读取帮助信息
|
||||
Documentation=https://docs.docker.com
|
||||
# 在网络完全上线、DNS 可用、docker.socket、firewalld、containerd 等服务就绪后再启动
|
||||
After=network-online.target nss-lookup.target docker.socket firewalld.service containerd.service time-set.target
|
||||
# 希望这些服务也在启动时被激活,但不是强制依赖
|
||||
Wants=network-online.target containerd.service
|
||||
# Docker 服务依赖 docker.socket,否则无法启动
|
||||
Requires=docker.socket
|
||||
# 在设定时间窗口内允许最多 3 次启动失败
|
||||
StartLimitBurst=3
|
||||
# 启动失败计数的时间窗口为 60 秒
|
||||
StartLimitIntervalSec=60
|
||||
|
||||
|
||||
[Service]
|
||||
# Docker 使用 systemd 的通知机制汇报启动是否完成
|
||||
Type=notify
|
||||
# Docker 守护进程的启动命令,fd:// 表示让 systemd 管理 socket;指定 containerd 套接字路径
|
||||
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
|
||||
# 重载配置时给主进程发送 HUP 信号
|
||||
ExecReload=/bin/kill -s HUP $MAINPID
|
||||
# 不限制启动超时时间,避免因系统繁忙造成 dockerd 启动失败
|
||||
TimeoutStartSec=0
|
||||
# 发生失败重启前等待 2 秒
|
||||
RestartSec=2
|
||||
# 无论因何原因退出都自动重启
|
||||
dRestart=always
|
||||
# 设为无限以避免内核资源统计带来的性能开销
|
||||
LimitNPROC=infinity
|
||||
LimitCORE=infinity
|
||||
# 允许 Docker 创建任意数量的任务(需 systemd 226+)
|
||||
TasksMax=infinity
|
||||
# 允许 docker 自己管理其 cgroups,不受 systemd 重置影响
|
||||
Delegate=yes
|
||||
# 杀进程时只杀主进程,不影响容器子进程
|
||||
KillMode=process
|
||||
# 降低 Docker 在内存不足(OOM)时被内核优先杀掉的概率
|
||||
OOMScoreAdjust=-500
|
||||
|
||||
[Install]
|
||||
# 让服务在多用户运行级别自动启动
|
||||
WantedBy=multi-user.target
|
||||
Reference in New Issue
Block a user