在Docker中使用代理

我们常常会因为下面这些原因需要使用代理:

  • 本机本身访问网络需要经过代理
  • 本地访问Docker Hub过慢需要加速

而Docker本身又是由服务端与客户端构成

作用 使用代理
Docker客户端 用于连接服务端 向服务端发送指令及本地数据 设置代理则会通过代理与服务端进行连接
当我们docker服务端和客户端并不在同一设备上时 docker 使用 https 进行通信,而docker客户端是可能会受到http_proxy、 https_proxy环境变量影响的。可能的原因因为Docker客户端版本不同或者其他原因造成有时会影响有时不会影响

如果在客户端的命令行设置了 http_proxy、 https_proxy 之后,客户端会通过代理链接服务端,此时,如果代理不可到达服务器(比如OSX中docker服务端在本地的虚拟机中,使用Host-only方式与本机链接,如果使用的代理并非本机,则代理无法到达本地虚拟机种的docker服务端),则会导致docker命令无法连上服务端。
在这种情况下,在需要使用docker命令的命令行环境,需要 unset http_proxy 、https_proxy 确保客户端直接与服务端进行连接。

Docker服务端 Docker的执行进程 对外提供接口
执行收到的命令(包含实际访问Docker Registry、Docker Hub)
通过代理进行对应的网络请求
在Bash运行环境中设置的 http_proxy、 https_proxy、 no_proxy docker的服务端并不能识别 参考 Github Issue #402 Using Docker behind a firewall

 

 

Docker服务端设置代理(加速)

1. 给Docker配置代理

在启动Docker服务端的命令行前直接加入: HTTP_PROXY=server:port

例如直接启动时使用:
sudo HTTP_PROXY=server:port docker -d &

或者在docker的服务启动文件(如:/usr/local/etc/init.d/docker)找到
/usr/local/bin/docker -d,在前面加入 HTTP_PROXY=server:port

2. 使用Daocloud加速器

如果Docker服务器并不需要代理来访问外部网络,仅仅是访问 Docker Hub 过慢的话,还可以考虑 DaoCloud 提供的 Mirror加速器。具体参见:https://dashboard.daocloud.io/mirror

使用 Docker Machine 取代 Boot2Docker 在 OSX 中使用 Docker

原先,我们使用Boot2Docker在OSX下管理Docker。在Docker发布了 Toolbox 之后,新增了 Docker Machine 命令行。通过 docker-machine ,可以让我们以一致化的命令在本地或者云计算上创建 docker 服务。同时很方便的切换 docker 命令对应的目标服务器。

一、安装 Docker Toolbox

Docker Toolbox 安装包包含了:
docker 客户端
docker-machine 工具
docker-compose 工具
Kitematic 一个Docker的GUI

我们可以在 官网 或者 DaoCloud 镜像 下载并安装。

二、将Boot2Docker迁移到Docker Machine

如果原先并没有使用Boot2Docker,可以直接忽略

使用命令:
docker-machine create -d virtualbox –virtualbox-import-boot2docker-vm boot2docker-vm dev
-d virtualbox
使用virtualbox驱动
–virtualbox-import-boot2docker-vm boot2docker-vm
导入virtualbox中boot2docker的vm boot2docker原先在virtualbox创建的虚拟机名字为 boot2docker-vm
dev
可以根据自己需要设置 docker-machine 中的机器名

三、Docker Machine 使用

1. 创建一台新的 Docker Machine

docker-machine create –driver virtualbox default
–driver virtualbox
本机使用的话 使用virtualbox驱动
driver 还可以是amazonec2, azure, digitalocean, exoscale, generic, google, openstack, rackspace, softlayer, virtualbox, vmwarefusion, vmwarevcloudair, vmwarevsphere 等 配置对应的秘钥和参数后 可以直接在云服务中创建设备
default
docker-machine 中的机器名 之后的管理命令均使用该名称

2. 设置环境变量

在创建好 Docker Machine 之后,需要让本地的 docker 客户端了解需要连接的 docker 目标服务器地址,或者在不同的docker服务器之间切换,因此需要设置环境变量。

eval “$(docker-machine env default)”
–driver virtualbox
default
之前创建的machine的名称

3. 使用docker客户端管理docker

当我们将环境变量配置完成之后,我们就可以在本地操作docker一下,使用docker命令管理docker设备了

三、Docker Machine 管理

docker machine 提供了一系列命令来管理对应的docker设备

以下是 boot2docker 与 docker-machine 命令的对照表 使用 docker-machine 时 最后都需要跟上对应的设备名称

boot2docker docker-machine docker-machine description
init create 创建新的docker主机
up start 启动一个关闭的主机
ssh ssh 通过ssh连接到对应的docker主机
save
down stop 关闭正在运行时的主机
poweroff stop 关闭正在运行时的主机
reset restart 重启正在运行的主机
config inspect 获取主机的参数配置信息
status ls 列出所有主机及其状态
info inspect 获取主机的参数配置信息
ip ip 获取主机的IP地址
shellinit env 设置主机的环境变量
delete rm 删除主机
download
upgrade upgrade 将主机的docker客户端更新到最新版本

 

 

记一次UnitedStack(有云)平台故障

最近各种云平台事故不断,然而作为喜欢尝试国内各种云的我,也躺枪不断,先是赶上QingCloud的广东机房(广东睿江科技)遭雷劈导致业务中断[故障报告],其次是QingCloud北京2区的网络故障[故障报告],接着是七牛的域名被Godaddy强行clientHold导致的业务中断[故障报告],同时关于七牛还踩到老用户的坑,使得影响非常糟糕,这个有机会另外说。然而这些故障基本都是在工作日的白天出现的,虽然部分恶性故障拖的时间都比较久,对业务影响还是不小,但是也因为用户基数大,同时官方跟进和报告也相对及时,客服也都跟进的比较快,使得问题处理还是相对透明。虽然有人要说「我们要给云计算多一些宽容」但是在使用云服务时候,我们自身也应该做好监控和容灾,鸡蛋都放在一个碗里,迟早还是要出事的。

而下面记述的就是一个并不大的云服务商 UnitedStack(有云)的一次平台故障经历。分为故障线客服线两条线进行记述。

2015-08-05 01:35
服务器无法访问,ping不通,但是管理平台显示机器正常运行

2015-08-05 01:40
尝试通过管理平台进行重启操作,机器显示正在关机中

2015-08-05 02:10
经过了20分钟管理平台依旧显示关机中,因此提交工单,请求检查机器问题

2015-08-05 02:31
管理平台依旧显示关机中,工单无人响应,尝试联系客服电话,均无人接听,客服电话选择投诉时,接听人表示已经离职。

2015-08-05 02:38
管理平台显示运行中(表示已经重启),但不管管理面板的VNC还是通过网络都无法连通主机。
管理平台本身的其他操作均表现异常

2015-08-05 03:02
主机恢复连通,并且运行正常,检查主机上的业务本身运行也恢复正常

2015-08-05 11:03
技术人员回复工单表示在检查问题

2015-08-05 11:32
技术人员表示多次测试并无发现问题

2015-08-05 11:42
我重新阐述故障期间的具体情况,要求技术人员协助排查问题

2015-08-05 15:03
技术人员答复需要我提供故障主机的相关日志,包括boot.log、dmesg、messages日志等。

2015-08-05 17:24
我打包上传上述三个日志

2015-08-05 19:20
技术人员答复 检查到在故障时间段里,其服务器的连通上出现了问题,造成相关服务异常,目前正在进一步处理中。

2015-08-13 15:53
技术人员答复如下:

我方查到故障期间dell核心交换机出现问题(内存报错),导致我方服务连通出现问题。dell方面也未能查出最终原因。
目前我方正在部署监控,如果故障再次出现,我方可以及时人工干预处理,避免造成更大影响。

整个事件:

故障持续事件:1个半小时,因为在夜间,甚至说如果我完全不管正在睡觉的话,如果没有监控报告根本察觉不到,故障本身影响在可控范围。但是这已经与其在官网上承诺的99.95%的SLA不符(以自然月为单位,不可用时间不超过21分钟),同时在故障期间,工单与客服电话均无人响应,同时初步检查结果并未发现问题所在,故障整理排查与给出答复耗时长达一周多。
UnitedStack SLA

虽然说把这个记述下来并不是表示不满,主要还是希望表达,云计算即使是很复杂的体系,而现在云计算方面的创业公司很多,虽然我们应该多给他们一些信任和支持,但是在出现问题时,对于技术人员值班的问题,以及对于故障的监控上也确实暴露出不少问题,而这些对于传统IDC来说都是基本功的东西,却在云计算服务上确实了实属不应该。

Linux下木马病毒清理小记

昨天下午接到朋友的电话,说其一台业务服务器被机房告知因为大量Out Bound流量,被断网要求清查。因为急于恢复业务,因此需要先进行清理保证机器不再出现恶意流量,恢复网络然后再进行进一步处理。估将主要清理情况记录如下:

首先,登录机器后,发现晨间存在异地登录行为:

last

随后查询历史记录,发现下载并执行了5个恶意的程序,并且添加了启动项

history

5个恶意程序均为二进制文件,尝试将上述5个文件kill,并且删除,并且清除rc.local启动项,但发现程序依旧会继续创建并运行(要那么容易被干掉也就算不上木马了),因此决定进行全盘排查。

首先根据目录的修改时间(万幸病毒并没有篡改自身创建时间),将问题锁定到了下面几个文件(目录):

首先/bin 目录,除开下载的三个文件之外,病毒还用自身替换了 ps 文件 与 netstat 文件,同时创建了数个用于计划任务的启动脚本。(可以预见中了病毒,常用的系统命令早已并不可靠,不但无法用于排查问题,反而会重启病毒)

其次是 /usr/sbin 下的 lsof 与 ss 文件也被替换成了病毒本体。

接着是/etc目录的 crontab 增加了一条计划任务 用于定时重启病毒进程(死灰复燃)
同样/etc/rc.d中的 init.d / rc1.d / rc2.d / rc3.d / rc4.d / rc5.d 下也均增加了病毒的执行脚本
并且取了其实挺显眼的名字 DbSecuritySptselinux

最后在 /usr/bin 目录下面存有一个目录保存有病毒的副本(用于计划任务启动)。

通过各个部分环环相扣,保证任何一个部分即使被删除,或者停止,依旧能够死灰复燃。

清理完成,同时恢复被病毒替换掉的系统文件,把SSH的密码登陆干掉,经过网管监控数小时没有出现异常流量之后,算是暂告一段落。当然,接下来恢复还是迁移业务啊,什么的,就让朋友自己折腾了。

当然其实还是那句话,SSH要改端口,不要用密码登陆啊 →_→

对于上述程序有兴趣的欢迎下载:
链接: 度盘 密码: s9pe

TCG 火焰之纹章0 (Cipher) 中文在线卡片查询

@暗黑天马夏澈丹 合作完成的TCG火纹FE0的在线卡查的第一版上线了 虽然界面有些磕碜 但还是欢迎大家来测试 =w=

TCG《火焰之纹章0》中文在线卡查上线啦!

收录了目前为止所有预组、补充包、PR卡的中文信息,官方Q&A,以及游戏规则。

支持电脑端与手机等移动端浏览哦!

《火焰之纹章0》卡查地址:http://fecipher.card.moe

开发:SmdCn 翻译:萨莉雅 (微博:http://weibo.cn/tcgfe)
原作: Nintendo / INTELLIGENT SYSTEMS

2015中国互联网大会小记

自打来帝都以来,大大小小的会参加了不少,有社区干货分享的、还有大谈趋势的,也有产品庆功的、推广吹水的。当然,还有学校里面的各种就数不过来了。基本上每年也都要来北京国际会议中心转两下,但真没想到自己会也有机会参与到这样的活动的组织工作中。

虽说是中国互联网大会,但是其实由互联网协会举办的一个略带官方正气的会议,一到会场,首先看到的中国电信、中国联通、中国移动,也让这个大会多少带了些传统的气息,但在这种全国上下都在高举「互联网+」口号的时候,其实倒也还算应景。当然,还是能在会场看到互联网巨头们以及一些还算有名气的互联网创业公司的身影,还是让人挺欣慰的。

因为学校既是合作方,又承办了这次大会里一个分论坛的缘故,所以在参与学校自己分论坛的筹备和开展的同时,还分到了大会全场志愿者的组织与协调的工作。于是开会前的这两个多月就基本都投入在大会相关的工作中了,而开会的三天加预备的一天更是每天早早起床奔赴会场,晚上回来基本就累成狗了。

大会这几天大大小小各个会场来回跑,也听了包括开幕式在内的各种会,见到了各种领导、嘉宾,但其实就算主会场高唱「五环之歌」我却真的一点感觉也木有,最后整场大会下来,其实觉得我们学校自己的分论坛确是最具有互联网气息的,即有草根投资人的即兴发言,又有学术派院士的演讲,还有来自阿里研究院、乐视的报告。最后的圆桌讨论更是欢乐无穷。一开始看着整个大学其他论坛的情况,我还在想我们这个论坛会来多少人,出乎意料的我们这场不但座无虚席,而且连地上都坐满了人,甚至还有不少人做起了笔记。花了这么长时间准备会虽然比不是那些技术会议全是干活,但是实实在在的内容还是得到了认可其实还是挺让人欣慰的。

cic2015

大会的结束,这个学期也就即将告一段落了,虽然说这个学期没少做事,但各种琐碎又或者涉密的事,实在是压抑的不行。这个假期真是该好好做做自己的side project了

最近玩的一些游戏小记

去年因为各种忙碌,游戏的时间非常惨淡,好多游戏买了都没通关,于是今年打算好好补一补。

外加上最近玩了一些挺有意思的游戏,就记录顺带分享一下吧。

Tap Titans

平台:iOS / Android

首先不得不说的就是这个传说中的放置性游戏「Tap Titans」,国内也涌现出了大量的山寨版。游戏玩法简单粗暴,点击屏幕,打怪掉钱,钱升级能力,雇佣英雄。虽然简单粗暴但还是欲罢不能,几乎没事的时候就会拿出来点一点,实在是魔性。

在最近的一次更新中,还增加了每日BOSS挑战,试图进一步强化用户粘性,虽然说到了中后期之后,英雄和点击对怪物伤害效果开始显得有些疲惫,在数值上,再雇佣新英雄需要的金币的数值单位已经跨越当前金币获取能力好多个数量级,而且这个趋势会越来越严重,但一旦雇佣上,就是短时间往上冲数十层,而更多的时候就需要转生从头开始去获取强力的”神器”。不过转生多了,也就显得枯燥了,于是先截图纪念一下。

taptitans taptitans2

Viking’s Journey : The Road to Valhalla

平台:iOS

这是一个将2048的机制和角色扮演结合的游戏,游戏目的是帮助维京人杀死路上所遇到的僵尸海盗,最后通向瓦尔哈拉殿堂。玩法就是配合类2048的道具滑动合并加上各种辅助道具一路边杀敌、边挡羊、边开宝箱、顺带烤肉吃饭补充能量,各种意义上来说,也和2048一样,是一个时间杀手般的游戏,当然,也受限于类2048的机制本身,也使得可升级选项的丰富性还是有限,基本到了后面就是刷刷刷,然后发现把各个可以升级的选项,和可以完成的成就都完成了,还是只到了第三个地图,距离最终目的地瓦尔哈拉殿堂还有些距离,之后再赚金币已无勇武之地,剩下的就是反复游戏走得更远了。

顺带提一句,截图是因为玩的时候恰巧碰上了游戏里面的一个触发条件比较复杂的BUG,在这之后再不缺金币,有兴趣可以猜一下触发原因 =w=

QQ20150214-2

 ハコボーイ(箱子小子)

平台:3DSWare

这是在Nintendo Direct上公布的一个下载游戏,虽然只是一个下载游戏,但内容却还是相当的丰富,主人公是一个可以在有限格数伸缩的小箱子,通过伸缩通过各种障碍,摘取皇冠,通过游戏,一路有妹子,有战友,还能换装。每个世界的都有新的机关,关卡设计也都非常的精妙,要全都拿到皇冠还是需要费不少神的,不知不觉玩到现在,也有总计7个多小时的游戏时间,也还是一个相当赞的小游戏。

hcboyhcboy3hcboy2

于是剩下就是「放假才能好好玩游戏」系列的各种大坑,于是就再找机会补啦 =w=

2015 For the future

转眼2015年已在茫茫碌碌中度过了好些日子,一直在问自己对于已经过去的2014年是不是应该总结一些什么。回想起来2014年虽然说并没有取得多么突出的成绩,但依旧是里程碑一般的一年。

TBS赴日研修

tbs_kakehashi

回想起大二的时候有幸选入TBS育英项目,也曾对于赴日充满幻想,但从没想过和TBS能结下如此深的羁绊,赴日研修时间虽然不长,但学到了很多新的知识与理念,经历了许多从未有过的体验,也结实了一些日本的朋友,期间也犯了不少错,给很多人添了麻烦,对自己来说不管是对媒体的责任、摄像机的意义、多媒体技术,还是说为人处世、个人修养方面都有了更多的思考与认识。同时,也让我们感受到对于中日关系,对于媒体,对于民间,所能做的努力与期望。研修报告的标题是「架け橋になるために」,哪怕现在中日之间可能还存在一些困难,但我们也相信着,雨后天晴便一定会有彩虹,中国和日本之间的关系也会越来越好!

毕业季

10show

昨天,似乎还在努力的赶着毕设,昨天,似乎还在和小伙伴愉快的玩耍,但转眼就到了毕业。站在小礼堂的舞台上,向到场的朋友展示毕设作品,虽说难免有些怯场,但还是为四年的学习生涯做了一个圆满的总结。

毕业了,虽说自己留在的帝都,留在了学校,但同学们也都向着未来各奔东西,离别多少还是让人备感失落,但微信嬉笑打闹间,大家却又如同都还在身边。

日本へ、お台場へ

hikari献给毕业的旅行、「デジモンアドベンチャー」15周年、「お台場メモリアル」(2014.08.01) 15周年。DM对我来说意义非凡的作品,也给了我将八年以来都一直着保持联系的朋友们,也在今年有幸参加了Windy翼学姐的婚礼。

重重意义交织坚定了我非去不可的决心。毕业季之后就一直在张罗关于签证的事,在还没正式毕业日子里厚着脸皮找辅导员办下了在读证明,说服家里帮忙准备麻烦的签证材料。自己研究订了机票和酒店。然后和小伙伴们研究着如何抢8.1官方活动的票,虽然最后没有抢到,但是托猪脚兽的福,参加了8.1当日的同人LIVE,虽说在合影里化作了光,但还是心满意足了。

旅行的准备是麻烦的,但自己准备旅程的过程还是相当上瘾的,虽然不是什么时候都能有场说走就走得旅行,但有机会一定还会让自己出去多走走。

看牙

虽然说这并不是多么值得提起的事,但却是2014年相当重的一笔,因为各种历史原因积累下的问题,加上磕掉门牙的华丽补刀,于是便踏上了历时接近半年,开销也相当恐怖的看牙之旅。杯具发生在离校之后,所以就在朋友的牵线下去了综合医院,大夫表示你这没救了,去北大口腔吧,于是便走上了北大口腔挂号的不归路,也成功取得了「被大夫说没救了」「在专科医院挂号」「多次大半夜排队挂号」「牙周做了手术」「对不起请个假 我约了大夫要去看牙」「成为身边朋友的看牙顾问」等多项成就。

新的旅程

9月开学,作为新生重新踏入校园,但校园却变得自己都不认识了,能见到的熟悉面孔越来越少了,5号楼、6号楼给拆掉了、二小搬迁了,老西门返修一心、大悦城前弄起了钢琴湖,还有陪伴自己整整四年的实验室也完全变了模样,母校也迎来了60周年校庆。新的开始、一切都重新来过,身份的转变同时也对自己提出了新的要求——认真做好学术、更广泛的阅读、更多积极的实践。

游戏记录

3dsrecord2014大概是买游戏最多的一年,但大概也是进来累计游戏时间最少的一年,打开3DS的游戏时间回顾,玩得最久的两个游戏分别是「Person Q」和「智龙迷城Z」,而对于往年来说,「闪电十一人」一款游戏的游戏时间就能是今年总计时间翻个倍。

自从「纸箱战机」在2013年底开始淡出视线,「Little Blue boX」解散,「闪电十一人」系列也在2014年宣布暂告一段落,「T-Pistonz+KMC」也宣布了暂停活动。于此同时同为LEVEL5社的「妖怪手表」成为现象级作品,整年在游戏销售排行榜刷版,剧场版未上映就宣布下一部剧场版消息,上映后票房更是各方面碾压,妖怪体操的广场舞甚至跳上了被誉为日本春晚的红白歌会。虽然如此,但对于这部作品完全提不起兴趣的我,游戏一个版本都没有买,可以说是和L5说再见了。

每一年的作品里,都会有些游戏的影子,今年倒也没有缺席,做的「挖红薯大赛」虽然依旧还是小游戏,但却是这么多年下来难得一个上线后在不到一个月里游戏人次突破百万的游戏,还是蛮让人兴奋的。希望未来能有机会做出更加完整的游戏作品。

年末的new 3DS的推出,以及口袋宝石版的复刻,在第一时间就立马加入了买买买的大军,日子匆匆忙忙的度过,游戏却一直没时间通关。这也不得不说是2014年整年最大的遗憾了。

 

2015 For the future

研究僧的生涯刚刚拉开序幕,一切回归原点,未来并不需要去特意预测,新的起点,新的旅程,一定还有很多有意思的事等在眼前,做好自己该做好的。多阅读、多积累、多实践,多游戏,再一次的蓄力,♪ For the future

Design Thinking 模拟项目 —— 阿鲁法手环

Design Thinking 模拟项目 —— 阿鲁法手环(介绍视频

周刊BURSTER

这个学期我们有一门关于Design Thinking的课程,课程主要是介绍设计思维的方法,以及在8周的时间里通过模拟的项目来实践设计思维的方法。而我们组抽到的选题是:「艺术系女大学生在市区发生地震时建立区域性自卫组织」

虽说是模拟项目,不是特别严谨,但是相当欢乐,于是就来分享一下:

在一开始得到选题时,我们在想在面对地震的时候对于艺术系女大学生会怎么做呢,她面临哪些问题,要怎么去解决?
然后我们想去设计一个「震后女大学生生存手册」

继而我们关于这个项目对学校内女大学生关于对灾害的认识进行了采访,并发现大多数人并没有经历过地震等灾害,甚至没经历过演习;在态度上通常消极,被动,渴望抱团,集体行动。

继而我们改变了之前的方向,从「首先保证自己的生存,活下去;其次保持与家人朋友的通讯;最后成为自卫组织关键人物之一」来考虑产品的方向。

头脑风暴

 

在经过头脑风暴之后,我们考虑去做一个女大学生喜欢的帅哥温柔声音的语音逃生系统,能够安装在她的随身携带物上(如眼镜,手表,项链,围脖…)。

初始原型

在经历了初始原型、测试等过程之后,继而完成最后的原型。最后的最后小伙伴用三天的时间完成了最开始的那个motion!

最终原型

怎么说呢,其实也不是第一次参与Design Thinking呢,但是每一次都还是觉得非常有意思

微信H5小游戏之「挖红薯大赛」

挖红薯大赛虽然说一直都没有停止过做让自己玩起来都觉得很有意思的游戏的尝试,从最初H5的解密游戏「Metispace」,到基于AIR的跑酷游戏「Rabit Hole」,再有Android原生的「Circle Cutter」,以及到后来参与了朋友的iOS解密游戏「Part of Me」。当然,也还有无聊的时候一些奇奇怪怪的尝试,不过基本都停留在自娱自乐的阶段,最多投投比赛,从没想过把一个游戏呈现到广大用户面前会是怎么样的,适逢微信H5的热潮,就和朋友一块尝试做了一个基于HTML5的微信游戏——「挖红薯大赛」。

这是一个帮线下实体店设计的一个相当简单的游戏,玩家需要做的仅仅只是滑动屏幕,移动人物去挖红薯,并且使得自己挖到的分数尽可能的大,和其他微信游戏一样,你还可以在朋友圈和其他朋友分享你挖到的分数。

不过难以置信的是,就这么一个简单到不能再简单的游戏,还没有开始推广,并且宣传游戏奖励的情况下,仅仅因为测试人员在朋友圈的分享,就取得超乎意料的活跃度,还有相当数量玩家连续好几天重度一样的玩。甚至游戏在地方形成话题,并且有根本不认识的人为其撰写我都没研究出来的游戏攻略,一直都在媒体上在看人讨论微信朋友圈的力量,这回真是真的切切实实的感受到微信社交圈子的可怕。

虽然说只是一个营销用的小游戏,虽然说也和以前一样有着「其实还可以做得更有趣」这样的遗憾,不过每一次的尝试都还是觉得挺开心的。如果亲也很无聊,那也来微信扫一扫下面的二维码解解闷吧(咦

 

2014-11-04-2228317230