搭建自己的 Docker 私有仓库服务

关于 Docker 的介绍这里就省了,Docker 在其相关领域的火爆程度不亚于今年汽车行业里的特斯拉,docCloud 甚至把公司名都改成了 Docker, Inc. 好东西总是传播很快,我们现在已经有客户在 VPS 上用 Docker 来部署应用了。不了解 Docker 的小伙伴们可以看看 使用 Docker/LXC 迅速启动一个桌面系统 开头部分的介绍。

和初次接触 Xen/KVM 虚拟技术的体验不同,Docker 不用自己动手制作镜像,官方已经提供了很多版本的 Linux 镜像,直接从官方仓库(Public Repositories)下载就可以了。如果考虑到安全性和速度,我们可能会想在自己局域网里架设一个私有仓库(Private Repositories)来放我们自己的镜像,Docker-Registry 正是我们需要的工具。

用 git 下载源码后修改配置文件 config.yml,把 storage_path 部分改成 Docker 镜像仓库的存放地点:

$ git clone https://github.com/dotcloud/docker-registry
$ cd docker-registry

$ cp config_sample.yml config.yml
$ vi config.yml
...
# This is the default configuration when no flavor is specified
dev:
storage: local
storage_path: /home/vpsee/registry
loglevel: debug
...

$ mkdir /home/vpsee/registry

安装一些必要软件包和一些 Docker-Registry 需要用到的 Python 工具和库:

$ sudo apt-get install build-essential python-dev libevent-dev python-pip libssl-dev

$ sudo pip install -r requirements.txt

Docker-Registry 实际上是个基于 Flask 的 web app,安装成功后就可以这样运行了:

$ sudo gunicorn --access-logfile - --debug -k gevent -b 0.0.0.0:80 -w 1 wsgi:application

打开浏览器,访问 IP 地址就可以看到 docker-registry 私有仓库在运行了:

Docker-Registry

查看一下现有系统上已经有了哪些镜像:

$ sudo docker images
REPOSITORY TAG ID CREATED SIZE
vpsee/ubuntu latest 936a54e8a345 2 weeks ago 12.29 kB (virtual 327.8 MB)
ubuntu latest 8dbd9e392a96 6 months ago 131.5 MB (virtual 131.5 MB)
ubuntu precise 8dbd9e392a96 6 months ago 131.5 MB (virtual 131.5 MB)
ubuntu quantal b750fe79269d 7 months ago 24.65 kB (virtual 180.1 MB)

我们打算把 vpsee/ubuntu 这个镜像(ID 是 936a54e8a345)上传(push)到我们刚创建的私有仓库里(这个私有仓库的 IP 地址是 192.168.2.45),会看到提示 Username/Password,初次 push 的话,可以自己设置用户名和密码:

$ sudo docker tag 936a54e8a345 192.168.2.45/vpsee
$ sudo docker push 192.168.2.45/vpsee
Username: vpsee
Password:
Email: [email protected]
Account created. Please use the confirmation link we sent to your e-mail to activate it.
The push refers to a repository [192.168.2.45/vpsee] (len: 1)
Processing checksums
Sending image list
Pushing repository 192.168.2.45/vpsee (1 tags)
Pushing 8dbd9e392a964056420e5d58ca5cc376ef18e2de93b5cc90e868a1bbc8318c1c
Buffering to disk 58266504/? (n/a)
Pushing 58.27 MB/58.27 MB (100%)

完成 push 后,我们的私有仓库就有了第一个镜像了:

$ sudo docker images
REPOSITORY TAG ID CREATED SIZE
vpsee/ubuntu latest 936a54e8a345 2 weeks ago 12.29 kB (virtual 327.8 MB)
ubuntu latest 8dbd9e392a96 6 months ago 131.5 MB (virtual 131.5 MB)
ubuntu precise 8dbd9e392a96 6 months ago 131.5 MB (virtual 131.5 MB)
ubuntu quantal b750fe79269d 7 months ago 24.65 kB (virtual 180.1 MB)
192.168.2.45/vpsee latest 936a54e8a345 2 weeks ago 12.29 kB (virtual 327.8 MB)

以后只要 docker pull 192.168.2.45/vpsee 就可以从我们自己的私有仓库下载和运行镜像了,本地网络速度当然会快很多。



来源:http://www.vpsee.com/2013/11/build-your-own-docker-private-regsitry-service/

如何阅读一本书

学海无涯,方法是岸。

这也包括读书,读书要有一定的目标,无外乎两种,获得资讯知识的,或提高理解力。而真正想通过读书变得更加聪明的,则一定要让书里的东西和自己融合。读一本好书,就如同和一个大师在交流。

据书所云:读书可以分四个层次、基础阅读,检视阅读,分析阅读,主题阅读。

限于篇幅,这里,我谈主要检视阅读和分析阅读。

基础阅读我们可以简单理解为对文字的阅读能力,这里相信绝大多数读者只要静下心来就可以达到,但互联网时代信息大爆炸又谈何容易静心阅读,这里我个人的建议就是远离屏幕,可以将文字打印出来阅读,这样比较容易收心。

检视阅读

检视阅读才属于真正进入阅读的层次,也可以说是系统性略读或粗浅的阅读。可以帮助我们判断这本书对我们的价值,知道作者重要的主张。这里我们要像侦探一样来阅读这本书。

注意要观察的点是,书名页,序,目录,索引,作者介绍,宣传文案。

我们可以开始挑几个跟主题息息相关的篇章来看,注意书的最后结尾,略略将整本书翻过一遍,挖掘主要论点的讯号。

在这个过程中,要做到“不求甚解”,保持主动,我们要对书提出的四个主要的问题:

1、这本书到底在谈什么?

2、作者主要的想法都有什么?

3、这本书是否有道理,全部或者部分?

4、这本书和你的关系是什么?

分析阅读

分析阅读的第一阶段:找出一本书在大概谈些什么的四个规则:

第一规则:对书籍进行分类,你一定要知道自己在读的是哪一类书,而且要越早知道越好。最好早在你开始阅读之前就先知道。——分析阅读的第一个规则,虽然适用于所有的书籍,却特别适合用来阅读非小说,论说性的书。

第二规则:使用一个单一的句子,或最多几句话(一小段文字)来叙述整本书的内容。

第三规则:将书中重要篇章列举出来,说明它们如何按照顺序组成一个整体的架构。

第四规则:发现作者的意图,找出作者要问的问题。

分析阅读的第二阶段:找出一本书具体在说什么的规则:

第一个规则,我们简称为“找出共通的词义”。

第二个规则:从最重要的句子中抓出作者的重要主旨。

第三个规则:找出作者的论述,重新架构这些论述的前因后果,以明白作者的主张。

第四个规则:确定作者已经解决了哪些问题,还有哪些是未解决的。在未解决的问题中,确定哪些是作者认为自己无法解决的问题。

分析阅读的第三个阶段:批评式阅读的条件,而在这样的阅读中,读者应该能够与作者“辩论”。

第一:要求读者先完整地了解一本书,不要急着开始批评。

第二:恳请读者不要争强好辩或盲目反对。

第三:将知识上的不同意见看作是大体上可以解决的问题。这个规则再进一步的话,就是要求读者要为自己不同的意见找到理论基础,这样这个议题才不只是被说出来,而且会解释清楚。只有这样,才有希望解决这个问题。

三种做笔记的方法

在读一本书时,你可能会有三种不同的观点,因此做笔记时也会有三种不同的方式。你会用哪一种方式做笔记,完全依你阅读的层次而定。

A、在检视阅读中,要回答的问题是:第一,这是什么样的一本书?第二,整本书在谈的是什么?第三,作者是借着怎样的整体架构,来发展他的观点或陈述他对这个主题的理解?你应该做一下笔记,把这些问题的答案写下来。尤其如果你知道终有一天,或许是几天或几个月之后,你会重新拿起这本书做分析阅读时,就更该将问题与答案先写下来。要做这些笔记最好的地方是目录页,或是书名页,这些是我们前面所提的笔记方式中没有用到的页数。

在这里要注意的是,这些笔记主要的重点是全书的架构,而不是内容—至少不是细节。因此我们称这样的笔记为结构(structural note-making)。

B、结构笔记与概念笔记(conceptual note-making)是截然不同的。而当你同时在读好几本书,在做主题阅读—就同一个主题,阅读许多不同的书时,你要做的又是什么样的笔记呢?同样的,这样的笔记也应该是概念性的。你在书中空白处所记下的页码不只是本书的页码,也会有其他几本书的页码。

C、对一个已经熟练同时读好几本相同主题书籍的专业阅读者来说,还有一个更高层次的记笔记的方法。那就是针对一场讨论情境的笔记一这场讨论是由许多作者所共同参与的,而且他们可能根本没有常察自己的参与。我们喜欢称这样的笔记为辩证笔记(dialectical note making)。因为这是从好多本书中摘要出来的,而不只是一本,因而通常需要用单独的一张纸来记载。这时,我们会再用上概念的结构—就一个单一主题,把所有相关的陈述和疑问顺序而列。

 

最后还是那句话:学海无涯,方法是岸。

《整理的艺术2》实用技巧分享

这本书是6月份读的,作者是日本的小山龙介,他是整理术达人,时间管理专家,书中一共分享了89条时间管理技巧,全书以技巧为主,书中8成技巧我都用过或正在使用了,实用性很强,很多技巧看起来很简单,当你真正把技巧变成习惯,才能真正体会到威力所在。

文章中的技巧跟原书并不一致,有些是根据自己经验进行扩展,对于技巧类最主要的方法是自己去实践,坚持一段时间看看效果如何。

1、戴上眼罩,调整呼吸

很多人知道通过呼吸法来集中注意力,但在注意力集中时,最好的办法是让自己的视野变得狭窄一点。可以用眼罩和耳塞减少外部信息的干扰。

思考事情时用这个方法效率很不错,

2、利用会议室来去除干扰

这条规则要看公司环境了,一个小组定个时间假装开会去会议室办公,别带手机,不用网络,效率大增。

3、通过打扫来集中注意力

书中还提到一个很另类的方法,在无法集中注意力时或犯困时,可以用一下。首先就是从自己的办公桌开始,把桌子上面、周围的物品整理一点。

我试过效果最好的手段,就是把笔记本关机,然后用笔记本清洁工具,把键盘、屏幕好好擦一下,然后看到焕然一新的笔记本心情大好。

4、别一次把资料全部整理完

这条对我无效,因为我有个非常好的习惯,在每天下班前10分钟,把当天的工作资料全部归纳、整理。

但在某天,我教别人用这种方法时,发现他的资料太多,从来没有分类后,一次整理不完。这时用这一条。

先收纳,再整理。最常用的就是把桌面的文件都集中归纳到一个文件夹里,等到有时间再慢慢分类。

文件资料也可以这样做。

5、别整理名片

书中的这条规则是把能用到的名片随身携带,但现在是App时代,我的方法是不整理,直接扫描,用印象笔记。人脉 或 名片全能王,直接扫描一下,大多数名片都能自动提取并识别,然后有时间的时候统一处理一下,一张名片只需要20、30秒就能处理完。

6、学会放松

书中有一条技巧是利用身边的度假村和温泉,那是日本的作法。

自己觉得累的时间,大都是脑力活动,这里比如的办法是多运动,比如慢跑、游泳之类,然后找个正规按摩店(在北方良子足道多一点)做脚道按摩或全身按摩,然后睡一觉,睡醒后经常满血复活。

每个人的选择不同,有人去爬山,有人去泡温泉、逛街,关键是要找到几种适合自己的放松方法,适当的放松,记住玩游戏、看电影、电视、麻将这类只会带来相反作用。

7、牛顿和柏格森时间理念

同样是一个小时的时间,给我们的质感却是不同的。柏格森时间就是这个含义,精力最为充沛、效果最好的时间内尽可能做最高附加值的工作,也就是相应的增加了时间的浓度,所以书中建议计划行动时候,把一天最能集中精力的两小时安置规划好。

牛顿时间:客观的,社会的时间,时间浓度稳定的,混吃等死的时间。

帕格森时间:主观的,儿童的时间,时间浓度不定,专心致志的时间。

找到特定的时间,提高这段时间的浓度和质感,更多的帕格森时间。

8、在日程表中给自己留出时间

别把日程表排满任务,每天留出三十分钟给自己,去跟自己约个会。 在这段时间里,可以思考自己现在处于什么状态,思考将来需要一步步完成些什么,对未来进行长期的展望。

9、多使用自定义词库

如果你经常做文字工作,这是最实用的技巧,把你经常用的固定句式进行自定义加入词库中,比如搜狗输入法里面就有批量造词,把地址、邮箱、问候语、公文格式之类做成短语,打字速度会马上提高很多

10、把自己的目标或梦想设为壁纸

把目标可视化,设成手机壁纸或桌面壁纸,每天会重复提醒自己。看到很多人都在这样做。去年去参加永锡的培训,他的手机壁纸和待机画面上就是自己手绘的梦想城堡图片。

如果你还没这样做,可以试试

看看这10条技巧,哪一条适合你?要记得应用光看可是没有任何用处。


来源:http://www.read.org.cn/html/2293-zheng-li-de-yi-shu-2-shi-yong-ji-qiao-fen-xiang.html

七大理由提倡我们使用Dvorak键盘布局

我们现在电脑/笔记本/手机全键盘通常都是QWERTY键盘布局的,以键盘第一排字母的
左边6个字母而得名。这种键盘在1868年由Christopher Sholes申请专利,后来在全世界键盘中占据了主导地
位。
可是我们仍然有无数个理由,要换掉QWERTY键盘,使用Dvorak键盘吧!
Dvorak.PNG

理由一QWERTY was designed for the typewriter, not the typist.
QWERTY 是为打字机设计的,不是为打字员设计的。
打字机的发明人Christopher Sholes,发现他的打字机在设计上存在一个缺陷:当二个相邻的按键被快速顺序击打时,打字机会卡死。为了解决这个问题,他改变了常用的键盘布局,把经常会连续打到的字母键分开放置,比如ing啦(我猜的)。(我没有用过英文打字机,对这一段不是很理解。)于是QWERTY键盘就诞生了。QWERTY解决了打字机的问题,而Dvorak使打字员可以打得更爽。
理由二Dvorak increases your speed。
Dvorak 可以提高你的打字速度。
我们打字时,手指会放在键盘的最中间一排(称为Home Row)。如果要提高打字速度,就要减少手指的移动,也就是说,要把最常使用的按键放在Home Row里面。对于英文打字员来说,使用Dvorak布局,会有70%的按键次数集中在Home Row里面。 22%在上面一排,8%在下面一排。如果使用QWERTY布局,只有32%的按键次数集中在Home Row,52%在上面一排,16%在下面一排。后来,Dvorak键盘又进行了改进。所有的元音字母(aeiou)被放在Home Row的左边,最常使用的辅音字母键放在右边。由于英文单词通常是元音字母和铺音字母交叉的,所以打字时左右手会交替按键,肯定比单手按键的速度要快啦。QQ截图20130828174349.pngQQ截图20130828174442.png
理由三Dvorak lessens your mistakes.
Dvorak 会减少打字错误。
通常认为,在以下二种情况,会经常出现打字错误:
1 手指远离home row 去按某个键的时候。
2 连续使用同一手指按键的时候。
如果这二种情况同时发生,出错的概率就更大了。比如你连续按rtvb或者ec,说不定就会按错了。在QWERTY键盘上,这二种情况发生的概率远大于Dvorak键盘。
理由四Dvorak is more comfortable and better for your health.
Dvorak 使用起来更舒服,对你的健康有好处。
有人进行过测试(无证据), 在同一项打字任务中,使用QWERTY键盘的打字员手指每天移动30公里,而使用Dvorak键盘的人,手指每天只移动了1.5公里。难怪我每天打字打得累死了。 好象要得键盘手了。。救命。
理由五Switching to Dvorak is easier than ever.
您可以很方便地切换到Dvorak键盘布局。
研究发现(无证据),对于一个新人来说,Dvorak键盘布局更加容易学习。如果你已经习惯了QWERTY键盘,那就更简单了。因为你已经掌握了基本的打字技术(主要是手指间的配合)。(这一段我不太赞同。。。毕竟熟悉了QWERTY之后,想改变这个习惯,是相当困难的吧)。网上有很多的关于Dvorak的教程,而且有相当多的打字游戏供你练习。大部分的操作系统,都支持把你的默认键盘布局改成Dvorak,并且可以在二种布局之间轻
易地切换。AutoHotkey也可实现不过你一旦用熟了Dvorak, 肯定不会再切换回QWERTY啦!哈哈哈!
理由六Dvorak is cool.
用Dvorak来打字是很酷的。
你的同事/朋友使用你的电脑,只会打出一堆垃圾,以后他们再也不会乱碰你的电脑/键盘了!(而且,为了不让他们碰我的鼠标,我把鼠标也改成了左手习惯,哈哈哈。)更重要的是,使用Dvorak之后,你就变得更牛B了。 就像你买了台mac,抛弃了pc机一样!而且,你还可以炫耀你的打字速度了。你肯定会变成公司的打字王的。
而且,你还有很多牛B的伙伴,他们也在使用Dvorak: BT的发明人 Bram Cohen,WordPress的主要开发人员Matt Mullenweg, 还有世界上打字最快的人 BarbaraBlackburn。
理由七Using Dvorak is a noble cause.
使用Dvorak是很崇高的。
Dvorak博士发明了Dvorak键盘布局,但是在他活着的时候,却无法说服人们来使用这项发明。。丫死得太惨了,肯定不能瞑目。意识到无法说服人们使用Dvorak之后,他说:我不想再做对人类有益的事情了!他们太
TMD懒了!一点都不想改变!So,QWERTY一直是最流行的键盘布局,而且流行了一个世纪!要是你的手机还是数字键盘,你都不好意思跟人打招呼。但是,随着打字机的改进,键盘的改进,QWERTY已经失去了它原本的意义。我们可以追求更快的打字速度了!
使用Dvorak键盘吧,让我们向Dr.Dvorak的伟大遗产致敬!

Markdown语法

代码

单个回车视为空格。连续回车才能分段。行尾加两个空格,这里->即可段内换行。*这些文字显示为斜体***这些文字显示为粗体**

效果

单个回车 视为空格。

连续回车

才能分段。

行尾加两个空格,这里->
即可段内换行。

这些文字显示为斜体

这些文字显示为粗体


代码

行的开头空4个空格,表示程序代码,例如:C#://这里显示一些代码,在正文显示中会自动识别语言,进行代码染色,这是一段C#代码publicclassBlog{publicintId{get;set;}publicstringSubject{get;set;}}Python:keywords=["dsaa","Asd","sadc","Gdfd","gdfdd","gaf","gabdddddd","eg"]printdict([(i[0],list(i[1]))foriingroupby(sorted(keywords),lambdax:x[0].lower())])Javascript:/**
* nth element in the fibonacci series.
* @param n >= 0
* @return the nth element, >= 0.
*/
functionfib(n){vara=1,b=1;vartmp;while(--n>=0){tmp=a;a+=b;b=tmp;}returna;}document.write(fib(10));

效果

行的开头空4个空格,表示程序代码,例如:

C#:

//这里显示一些代码,在正文显示中会自动识别语言,进行代码染色,这是一段C#代码publicclassBlog{publicintId{get;set;}publicstringSubject{get;set;}}

Python:

keywords=["dsaa","Asd","sadc","Gdfd","gdfdd","gaf","gabdddddd","eg"]printdict([(i[0],list(i[1]))foriingroupby(sorted(keywords),lambdax:x[0].lower())])

Javascript:

/**
* nth element in the fibonacci series.
* @param n >= 0
* @return the nth element, >= 0.
*/
functionfib(n){vara=1,b=1;vartmp;while(--n>=0){tmp=a;a+=b;b=tmp;}returna;}document.write(fib(10));


代码

>表示引用文字内容。#表示这是一级标题##表示这是二级标题###表示这是三级标题……###### 最小是六级标题也可以这样表示大标题=这样表示小标题-

效果

表示引用文字内容。

表示这是一级标题

表示这是二级标题

表示这是三级标题

……

最小是六级标题

也可以这样表示大标题

这样表示小标题


代码

---上面是一条分隔线-这是无序列表项目-这是无序列表项目-这是无序列表项目两个列表之间不能相邻,否则会解释为嵌套的列表1.这是有序列表项目2.这是有序列表项目3.这是有序列表项目下面这个是嵌套的列表-外层列表项目+内层列表项目+内层无序列表项目+内层列表项目-外层列表项目

效果


上面是一条分隔线

  • 这是无序列表项目
  • 这是无序列表项目
  • 这是无序列表项目

两个列表之间不能相邻,否则会解释为嵌套的列表

  1. 这是有序列表项目
  2. 这是有序列表项目
  3. 这是有序列表项目

下面这个是嵌套的列表

  • 外层列表项目
    • 内层列表项目
    • 内层无序列表项目
    • 内层列表项目
  • 外层列表项目


代码

直接把一个URL显示为超级连接:也可以这样:[图灵社区](http://www.ituring.com.cn)图像和链接非常类似,区别在开头加一个惊叹号:![这是一个Logo图像](http://www.turingbook.com/Content/img/Turing.Gif)此外,还可以以索引方式把url都列在文章的最后,例如这样:[图灵社区][1]![图灵社区Logo][2][1]:http://www.ituring.com.cn[2]:http://www.ituring.com.cn/Content/img/Turing.Gif

效果

直接把一个URL显示为超级连接:

也可以这样:图灵社区

图像和链接非常类似,区别在开头加一个惊叹号: 这是一个Logo图像

此外,还可以以索引方式把url都列在文章的最后,例如这样:

图灵社区 图灵社区Logo

最新文章

最近回复

分类

  • 默认分类 (27)
  • 运维 (53)
  • docker (1)
  • 动漫 (19)
  • 科普知识 (16)
  • 苍白边缘 (17)
  • 资源 (12)
  • Linux (58)
  • Arch Linux (19)
  • 计算机 (18)
  • 编程 (3)
  • Java (4)
  • python (0)
  • php (0)
  • 前端 (1)
  • 公告 (1)
  • 归档




      其它