以下内容均来自个人笔记并重新梳理,如有错误欢迎指正!
如果对您有帮助,烦请点赞、关注、转发!如果您有其他想要了解的,欢迎私信联系我~
docker.service 文件
1、基本介绍
docker.service 是 Docker 守护进程(Docker Daemon)在 Linux 系统上使用 systemd 作为初始化系统时的服务单元文件,它定义了 Docker 服务启动、停止和管理的方式。
docker.service 默认位于 /etc/systemd/system 目录或 /lib/systemd/system 目录。
2、配置示例
代码语言:javascript复制[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target docker.socket firewalld.service
Wants=network-online.target
Requires=docker.socket
[Service]
Type=notify
ExecStart=/usr/bin/dockerd -H fd://
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=1048576
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
3、配置说明
代码语言:javascript复制[Unit]:定义了 Docker 服务的元数据信息,包括描述、文档链接、启动顺序等
[Service]:定义了 Docker 守护进程的行为和属性,包括启动命令、重新加载命令、资源限制等
[install]:定义了 Docker 服务的安装位置和所属目标
###########################################################################
# [Unit] 下配置说明
Description # 对 Docker 服务的描述
Documentation # Docker 在线文档链接
After # 指定 Docker 服务在哪些服务之后启动
Wants: # 指定 Docker 服务启动后,需要启动的服务
Requires # 指定 Docker 服务启动前,必须已启动的服务
# [Service] 下配置说明
Type # 指定 Docker 服务启动时的行为。notify 表示服务就绪后发送信号给 systemd
ExecStart # Docker 服务启动命令
ExecReload # Docker 服务重载命令
LimitNOFILE # 指定 Docker 服务最大文件句柄数,默认为 infinity 无限制
LimitNPROC # 指定 Docker 服务最大进程数,默认为 infinity 无限制
LimitCORE # 指定 Docker 服务最大核心转存文件大小,默认为 infinity 无限制
TasksMax # 指定 Docker 服务最大任务数,默认为 infinity 无限制
TimeoutStartSec # 指定启动 Docker 服务时等待的秒数
Delegate # 指定为 yes 时,systemd 不会重置容器的 cgroups
KillMode # 指定 Systemd 如何杀死 Docker 进程(control-group、process、mixed、none)
Restart # 指定 Docker 服务的重启策略,默认
StartLimitInterval # 指定 Docker 服务启动失败计数的时间窗口
StartLimitBurst # 指定 StartLimitInterval 时间内,Docker 服务可以启动失败的次数
# [Install] 下配置说明
WantedBy # 指定启动 Docker 服务的 target,默认为 multi-user.target
###########################################################################