OS X 下使用证书认证
最近安全界爆出了一个 Docker/Swarm 2375 端口无认证的漏洞,甚至乌云里也有人搞批量扫描上报。事实上这个 2375 是 Docker Remote API 的端口,有了这个端口有什么用呢?任何能连上这个端口的人都能通过这个 API 在你的机器上部署容器,甚至是一个 privileged 的容器,那样几乎可以直接操作宿主机。但是这个端口其实本来就是干这事儿的,不过直接开放在公网上肯定危险,Docker 官方事实上一直推荐在生产环境中使用客户端证书的方式对该端口作认证。
SQLAlchemy 下处理时区问题
嗯……随着我们项目越做越大了现在该考虑国际化啦,首先遇到的就是时区问题。 一般我们都会在一个表中加入类似 created_at 这样的字段,目的是记录这条记录到底是什么时候被创建的,但是我们这里存哪个时区的时间好呢? 直接存 UTC 这是一种做法,我在 Flask 的书上看见他也是这么做的,不管 3721 直接用 datetime.datetime.utcnow() 作为值传入数据库。那样不管数据库上到底是什么时间,我们知道数据库所有的时间都是 UTC,
Nginx 的容器化
自从 Docker 出世后应用容器化便成为了未来开发运维一体化的趋势。Docker 推荐的理念是一个容器只跑一个进程,但是现在大家倾向于把它理解为广义上的单进程——即一个容器只运行一个应用服务,将所有服务模块化。 在这里遇到了一个问题,Nginx 这厮到底需不需要容器化? 强行容器化 Nginx 是有官方镜像的,那么说明 Nginx 官方也支持将其容器化,但是问题来了,Nginx 的配置文件要怎么放进容器中。 VOLUME 机制 将所有站点的配置文件放在同一个目录里,然后将其 VOLUME
架设 v2 版本的 Docker Hub Mirror
在上次 docker 更新至 1.8.x 后,docker 默认使用 v2 版本的 registry api 来拉取镜像,目的是提供更安全更便捷的方式。 但是在 docker 1.8.1 的源码中,对于 api 的选择是这样的,先从设置的--registry-mirror=
在 Docker Machine 中使用 Mirror 服务
Docker Machine 是 Docker 官方推出用来取代原来 boot2docker 的工具,其实我感觉就是把原来的 boot2docker 再次包装了一层?给了一个统一化的管理方式,但是这下问题来了,原来我们使用的 DaoCloud 的加速器服务在这里该怎么使用了呢? 先看了下docker-machine的大概操作,里面有个 ssh Log into or run a command on
Flask 中的 Long Polling
Long Polling 并不是什么稀奇的东西,其实就是一个普通的 HTTP 请求,只不过在没数据时我们直接把他阻塞掉,直到有数据直接返回完成本次请求。 那么说白了代码其实就像是下面这样: from flask import Flask, jsonify from time import sleep app = Flask(__name__) app.debug = True @app.
10.10.4 下第三方 SSD 开启 Trim 的正确姿势
在 10.10.4 之后已经有苹果官方推出的trimforce了,相当于使用较官方的方式开启 trim,但是开启 trim 后所造成的问题与 Apple 无关。 其实就是一条命令 $ sudo trimforce enable 然后等着自动重启就行。