dockervolume容器卷的那些事(二)。接触docker的朋友都知道,docker镜像是以layer概念存在的,一层一层的叠加,最终成为我们需要的镜像。但该镜像的每一层都是ReadOnly只读的。只有在我们运行容器的时候才会创建读写层。文件系统的隔离使得:[...]
consul 支持多数据中心的服务发现与配置共享工具
consul是一个支持多数据中心分布式高可用,用于服务发现和配置共享的工具。那么,之前已经有了众多的用于服务发现和配置的工具,如:etcd、zookeeper等,为什么还冒出来个consul?阅读Consulvs.OtherSoftware或许你可以找到答案。[...]
Go 关键字 defer 的一些坑
什么是defer?如何理解defer关键字?Go中使用defer的一些坑。defer意为延迟,在golang中用于延迟执行一个函数。它可以帮助我们处理容易忽略的问题,如资源释放、连接关闭等。但在实际使用过程中,有一些需要注意的地方(坑),下面我们一一道来。[...]
浅谈 Golang sync 包的相关使用方法
尽管Golang推荐通过channel进行通信和同步,但在实际开发中sync包用得也非常的多。另外sync下还有一个atomic包,提供了一些底层的原子操作(这里不做介绍)。本篇文章主要介绍该包下的锁的一些概念及使用方法。[...]
什么是 cron?利用 cron 定时执行任务
cron是什么?这是一个unix系统内置的定时执行任务的工具,最小精确到一分钟。它的实现有很多版本,不同版本间有些许的功能差异。与它相关的有两个工具:crond和crontab。crond就是cron在系统内的宿主程序,crontab是管理cron任务的管理工具。下面介绍cron相关的使用。[...]
acme.sh 自动更新 RSA、ECC 双证书实践
不知不觉,一年的通配符证书就快到期了。作为一名技术人员,我是不准备续费了。恰巧知道一个acme.sh的项目,它是一个实现ACME协议的客户端,能够向支持ACME协议的CA申请证书(如Letsencrypt)。[...]
如何写好Dockerfile,Dockerfile最佳实践
通过前面一篇如何写Dockerfile,Dockerfile参考文档,相信你已经了解了如何写Dockerfile文件。本篇文章主要介绍Docker公司和Docker社区推荐的最佳写法。so,在写Dockerfile文件的时候,你应该遵循这些做法。[...]
SSH Config 那些你所知道和不知道的事
SSH(SecureShell)是什么?是一项创建在应用层和传输层基础上的安全协议,为计算机上的Shell(壳层)提供安全的传输和使用环境。也是专为远程登录会话和其他网络服务提供安全性的协议。它能够有效防止远程管理过程中的信息泄露问题。通过SSH可以对所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。[...]
基于 OpenSSL 自建 CA 和颁发 SSL 证书
自建CA颁发证书不仅可以用来鉴权,而且使你的通信更加的安全(请保护好你的证书)。在实际的软件开发中,越来越多的服务用到HTTPS,证书的需求随之增加。那么对于我们开发者,通过自签名证书来进行测试必将非常的方便。so,有一个自己的CA是不是非常的库呢!下面我们一步步操作,创建我们自己的CA。[...]
Golang 博主走过的有关 error 的一些坑
本片文章用来记录我在Golang开发学习过程中遇到的有关error的一些坑。或许你也遇到,或许你能在这里找到答案。当然通过error的例子,你也应该联想到其它场景。err!=nil第一个问题是:为什么值为nil的error却不等于nil?[...]