网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
Docker是一种流行的容器化技术,它可以帮助开发者快速构建、打包和部署应用程序。在Linux系统中,Docker服务通常由systemd进行管理和控制。systemd是一个系统和服务管理器,它可以启动、停止和重启系统服务,并监控它们的运行状态。在本文中,我们将深入探讨Docker服务的systemd配置文件,了解各个配置项的含义和作用。
一、Docker服务systemd配置文件示例
在Linux系统中,Docker服务的systemd配置文件通常位于/etc/systemd/system/docker.service
。下面是一个Docker服务的systemd配置文件示例:
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
该配置文件包含了三个部分:[Unit]
、[Service]
和[Install]
。下面将详细介绍每个部分的含义和作用。
二、[Unit]部分
[Unit]
部分用于描述服务的基本信息,包括服务的名称、描述、文档地址、依赖关系等。下面是[Unit]
部分的各个配置项的含义和作用:
Description
:描述服务的作用。Documentation
:文档地址。After
:在哪些服务之后启动,多个服务之间用空格隔开。Wants
:如果该服务启动,则需要哪些服务启动,多个服务之间用空格隔开。
在上述示例中,Description
描述了Docker服务的作用,Documentation
指向了Docker的官方文档地址,After
指定了在network-online.target
和firewalld.service
之后启动,Wants
指定了如果该服务启动,则需要network-online.target
服务启动。
三、[Service]部分
[Service]
部分用于描述服务的启动命令、进程管理、重启策略等。下面是[Service]
部分的各个配置项的含义和作用:
Type
:指定进程类型,可选值为simple
、forking
、oneshot
、dbus
、notify
和idle
。ExecStart
:启动命令。ExecReload
:重新加载命令。LimitNOFILE
:文件描述符限制。LimitNPROC
:进程数限制。LimitCORE
:core文件大小限制。Delegate
:允许systemd不重置docker容器的cgroup。KillMode
:指定进程被杀死的方式,可选值为control-group
、process
和mixed
。Restart
:当服务异常退出时,自动重启服务。StartLimitBurst
:在StartLimitInterval
时间内,最多重启多少次。StartLimitInterval
:重启时间间隔。
在上述示例中,Type
指定了进程类型为notify
,ExecStart
指定了启动命令为/usr/bin/dockerd
,ExecReload
指定了重新加载命令为/bin/kill -s HUP $MAINPID
,LimitNOFILE
指定了文件描述符限制为infinity
,LimitNPROC
指定了进程数限制为infinity
,LimitCORE
指定了core文件大小限制为infinity
,Delegate
允许systemd不重置docker容器的cgroup,KillMode
指定了进程被杀死的方式为process
,Restart
指定了当服务异常退出时,自动重启服务,StartLimitBurst
指定了在StartLimitInterval
时间内,最多重启3次,StartLimitInterval
指定了重启时间间隔为60秒。
四、[Install]部分
[Install]
部分用于描述服务的安装信息,包括服务的启动级别、启动顺序等。下面是[Install]
部分的各个配置项的含义和作用:
WantedBy
:当哪个服务启动时,自动启动该服务。
在上述示例中,WantedBy
指定了当multi-user.target
服务启动时,自动启动该服务。
五、其他
为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!
这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。
本份面试集锦涵盖了
- 174 道运维工程师面试题
- 128道k8s面试题
- 108道shell脚本面试题
- 200道Linux面试题
- 51道docker面试题
- 35道Jenkis面试题
- 78道MongoDB面试题
- 17道ansible面试题
- 60道dubbo面试题
- 53道kafka面试
- 18道mysql面试题
- 40道nginx面试题
- 77道redis面试题
- 28道zookeeper
总计 1000+ 道面试题, 内容 又全含金量又高
- 174道运维工程师面试题
1、什么是运维?
2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?
3、现在给你三百台服务器,你怎么对他们进行管理?
4、简述raid0 raid1raid5二种工作模式的工作原理及特点
5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?
6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?
7、Tomcat和Resin有什么区别,工作中你怎么选择?
8、什么是中间件?什么是jdk?
9、讲述一下Tomcat8005、8009、8080三个端口的含义?
10、什么叫CDN?
11、什么叫网站灰度发布?
12、简述DNS进行域名解析的过程?
13、RabbitMQ是什么东西?
14、讲一下Keepalived的工作原理?
15、讲述一下LVS三种模式的工作过程?
16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?
17、如何重置mysql root密码?
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618635766)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!