使用doker搭建DNS服务

在服务器创建对应配置文件 可自行决定存储位置 /docker/dnsmasq/dnsmasq.conf # 完整配置文件参考以下地址 # http://oss.segetech.com/intra/srv/dnsmasq.conf cache-size=50000 dns-forward-max=1000 # 记录所有DNS查询请求 # log-queries # 不使用本地配置的域名解析器 # no-resolv # 不使用本地hosts no-hosts resolv-file=/etc/dnsmasq.resolv.conf addn-hosts=/etc/dnsmasq.hosts # 配置上游DNS服务器地址,用于解析国内域名 server=114.114.114.114 # 配置国际DNS服务器地址 server=8.8.8.8 /docker/dnsmasq/dnsmasq.hosts 127.0.0.1 example.com /docker/dnsmasq/dnsmasq.resolv.conf nameserver 114.114.114.114 nameserver 223.5.5.5 启动docker容器 docker run \ --name dnsmasq \ -d \ -p 53:53/udp \ -p 5380:8080 \ -v /docker/dnsmasq/dnsmasq.conf:/etc/dnsmasq.conf \ -v /docker/dnsmasq/dnsmasq.hosts:/etc/dnsmasq.hosts \ -v /docker/dnsmasq/dnsmasq.resolv.conf:/etc/resolv.conf \ --log-opt "max-size=100m" \ -e "HTTP_USER=user" \ -e "HTTP_PASS=password" \ --restart always \ jpillora/dnsmasq

七月 13, 2021 · 1 分钟 · wrpota

Git规范-初版

git规范 1.概览 项目默认分支为 线上master预发布 develop commit信息必须完整描述修改内容 commit之前必须进行pull或者fetch进行同步 所有需求建立新分支进行修改 develop 分支作为开发阶段主分支 各需求负责人本地建立新分支进行修改 修改完成后使用rebase合并冗余commit信息合并至develop分支 2.commit规范 保证commit尽量只做一件事 书写commit message言简意赅 规范commit message格式 完整commit信息大致如下 参考 Angular Git Commit Guidelines: # 标题行:50个字符以内,描述主要变更内容 # # 主体内容:更详细的说明文本,建议72个字符以内。 需要描述的信息包括: # # * 为什么这个变更是必须的? 它可能是用来修复一个bug,增加一个feature,提升性能、可靠性、稳定性等等 # * 他如何解决这个问题? 具体描述解决问题的步骤 # * 是否存在副作用、风险? # # 如果需要的化可以添加一个链接到issue地址或者其它文档 <type>: <subject> <BLANK LINE> <body> <BLANK LINE> <footer> type: 本次 commit 的类型,诸如 bugfix docs style 等 scope: 本次 commit 波及的范围 subject: 简明扼要的阐述下本次 commit 的主旨,结尾无需标点 body: 主体内容 footer: 描述下与之关联的 bug 或者需求链接 开发过程中遇到单行无法完整描述commit信息时必须使用完整commit信息提交 ...

七月 2, 2021 · 1 分钟 · wrpota

Git教程-初版

git简介 一:Git是什么? Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 工作原理 / 流程: Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。 Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。 三:初始化设置 1. 设置用户名及邮箱信息 全局设置 git config --global user.name "Name" git config --global user.email "Email" 针对项目设置 git config user.name "Name" git config user.email "Email" 2. 设置换行符自动转换 git config --global core.autocrlf [true | input | false] # 全局设置 git config --local core.autocrlf [true | input | false] # 针对本项目设置 true 提交时转换为LF,检出时转换为CRLF input 提交时转换为LF,检出时不转换 false 提交与检出的代码都保持文件原有的换行符不变(不转换) 推荐设置: windows git config --global core.autocrlf true other OS git config --global core.autocrlf input 初始化仓库 版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。 ...

七月 2, 2021 · 7 分钟 · wrpota

PHP代码规范-初版

1.编码规范 PHP 代码文件 必须 以 <?php 或 <?= 标签开始; PHP 代码文件 必须 以 不带 BOM 的 UTF-8 编码; PHP 代码中 应该 只定义类、函数、常量等声明, 或其他会产生 副作用 的操作(如:生成文件输出以及修改 .ini 配置文件等),二者只能选其一; 命名空间以及类 必须 符合 PSR 的自动加载规范: [PSR-0(已废弃)或 PSR-4] 中的一个。 类的命名 必须 遵循 StudlyCaps 大写开头的驼峰命名规范; 类中的常量所有字母都 必须 大写,单词间用下划线分隔; 方法名称 必须 符合 camelCase 式的小写开头驼峰命名规范。 单一文件只能申明单个类 1.类的常量、属性和方法 此处的「类」指代所有的类、接口以及可复用代码块(traits)。 1.1常量 类的常量中所有字母都 必须 大写,词间以下划线分隔。例如: <?php namespace Vendor\Model; class Foo { const VERSION = '1.0'; const DATE_APPROVED = '2012-06-01'; } 1.2.属性 类的属性命名 可以 遵循: 大写开头的驼峰式 ($StudlyCaps) 小写开头的驼峰式 ($camelCase) 下划线分隔式 ($under_score) 本规范不做强制要求,但无论遵循哪种命名方式,都 应该 在一定的范围内保持一致。这个范围可以是整个团队、整个包、整个类或整个方法。 1.3.方法 方法名称 必须 符合 camelCase() 式的小写开头驼峰命名规范。 1.4.注释 所有的类都 必须 添加大概说明、创建者、创建日期 切放在namespace申明前 并空一行。例: ...

七月 2, 2021 · 6 分钟 · wrpota