当前位置: 首页 > 工具软件 > go-systemd > 使用案例 >

linux---Systemd

狄承望
2023-12-01

http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-part-two.html


[root@k8s-node4 ~]# cat /etc/systemd/system/docker.service
[Unit]--启动顺序和依赖关系单元
Description=Docker Application Container Engine  --docker服务的简单描述
Documentation=http://docs.docker.com   --文档的位置
After=network.target docker-storage-setup.service  --定义docker服务应在哪些服务后启动,只是启动顺序,并不是依赖关系

Wants=docker-storage-setup.service --依赖关系,是弱依赖如果依赖的这个服务没有运行或者失败,不会影响到docker服务的继续运行;Requires字段表示强依赖关系,如果依赖的服务没有运行或者失败,那么docker服务也必须退出,不执行。

[Service]-- 启动行为
Type=notify --定义启动类型,启动结束后,systemd再启动其他服务
Environment=GOTRACEBACK=crash  --环境参数(这个参数的具体意思,不清楚,好像是关于go语言的);还有环境参数文件 EnvironmentFile

ExecReload=/bin/kill -s HUP $MAINPID  --重启服务时,执行的命令

Delegate=yes
KillMode=process  --定义在停止docker服务的时候,只杀主进程
ExecStart=/usr/bin/dockerd \  --启动服务的时候执行的命令
          $DOCKER_OPTS \    --参数,一般在环境参数文件中
          $DOCKER_STORAGE_OPTIONS \
          $DOCKER_NETWORK_OPTIONS \
          $DOCKER_DNS_OPTIONS \
          $INSECURE_REGISTRY
LimitNOFILE=1048576  --docker服务的资源限制,最大打开的文件数
LimitNPROC=1048576  --最大进程数
LimitCORE=infinity
TimeoutStartSec=1min   --启动docker最多用时多久
Restart=on-abnormal  --定义了docker服务退出后,systemd的重启方式。只有信号终止和 超时,才会重启


[Install] --定义docker服务如何做到开机启动

WantedBy=multi-user.target  表示docker服务所在的服务组。systemd默认启动的服务组是multi-user.target服务组



 类似资料: