首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

百度微服务架构师随手笔记:教你如何手写Docker涉及到的技术Hello world要有Shell彻底分离

模拟Docker实现一个简单的容器,不到 200行代码(包括空行、注释、异常处理),这并不是吹牛B。容器技术几乎是Linux kernel内置的模块,我们简单调用一下API就能搞定很多事情。当然你要考虑各种商业因素、政治因素那就会成长为Docker这种量级的代码量了。 盗用一下朋友圈里的段子:小公司与大公司的区别就是,以杀猪为例,小公司是找到猪直接乱刀砍死。大公司要先做一套笼具抓猪,再做一套流程磨刀,再发明一套刀法(工程师通常会就刀法争论很久)杀猪。抓猪的笼具除了能抓猪还能抓跳骚,磨刀的工具除了能磨柴刀,还

03

Linux 文件系统与日志分析「建议收藏」

Linux,全称 GNU/Linux,是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。伴随着互联网的发展,Linux 得到了来自全世界软件爱好者、组织、公司的支持。它除了在服务器方面保持着强劲的发展势头以外,在个人电脑、嵌入式系统上都有着长足的进步。使用者不仅可以直观地获取该操作系统的实现机制,而且可以根据自身的需要来修改完善Linux,使其最大化地适应用户的需要。   Linux 的基本思想有两点:一切都是文件;每个文件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说 Linux 是基于 Unix 的,很大程度上也是因为这两者的基本思想十分相近。

01

Linux下的DHCP服务的原理及搭建

DHCP:     动态主机配置协议Dynamic host configuration protocol     DHCP工作在OSI的应用层,可以帮助计算机从指定的DHCP服务器获取配置信息的协议。(主要包括:ip地址,子网掩码,网关和dns等)     工作原理:         1、客户机寻找服务器:广播发送discover包,寻找dhcp服务器         2、服务器响应请求:单播发送offer包,对客户机做出响应。提供客户端网络相关的租约以供选择         其中服务器在收到客户端的请求后,会针对客户端的mac地址与本身的设定数据进行一下工作:             a、到服务器的登录文件中寻找该用户之前曾经使用过的ip,若有且该ip目前没有人使用,这提供此ip为客户机             b、若配置文件中有针对该mac提供额外的固定ip,且该ip没有被使用,则提供此ip给客户机             c、如果没有符合以上两个条件,则随机取用目前没有被使用的ip参数给客户机并记录到leases文件中。         3、客户机发送ip请求:广播request包,选择一个服务器提供的网络参数租约回报服务器。             此外,客户机会发送一个广播封包给局域网内的所有主机,告知自己已经接受服务器的租约。         4、服务器确认租约:单播Ack包,服务器与客户机确认租约关系并记录到服务器的leases文件中 。         客户端打开68号端口,服务器打开67号端口。     配置:         配置文件都放在/etc/dhcp目录下;主配置文件为dhcpd.conf         将/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample文件复制到配置文件目录下,并覆盖dhcpd.conf文件,即可获得主配置文件。         主配置文件的主要内容介绍:             option domain-name "example.org";      --指定网域的域名             option domain-name-servers ns1.example.org, ns2.example.org;        --指定域名解析服务器(DNS)的ip地址。             default-lease-time 600;    --默认租约时间,单位为s             max-lease-time 7200;        --最大租约时间,单位为s。过期续约,续约直接发送request包即可。             log-facility local7;        --日志设备类型为local7.一般日志设备类型包括mail、crontab。通过此选项可以找到该服务的日志记录路径             subnet 10.5.5.0 netmask 255.255.255.224 {      --指定分配网段的ip地址以及子网掩码,括号内部为局部配置。             range 10.5.5.26 10.5.5.30;      --可使用的地址池范围             option domain-name-servers ns1.internal.example.org;        --该网段的域名,可以省略             option domain-name "internal.example.org";      --网段DNS             option routers 10.5.5.1;        --指定网关             option broadcast-address 10.5.5.31;    --指定广播地址             default-lease-time 600;    --租约时间             max-lease-time 7200;        --最大租约时间。             }             host passacaglia {      --主机名称             hardware ethernet 0:0:c0:5d:bd:95;      --主机的MAC地址             filename "vmunix.passacaglia";             server-name "toccata.fugue.com";        --文件名和服务器名,不太需要。             fixed-address fantasia.fugue.com;      --固定的ip地址

02
领券