为 Docker 设置代理

因为众所周知的原因,Docker在国内的使用举步维艰。于是,很多组织在国内提供了mirror或者叫加速器。 甚至在1.13的release note中提到微软提供了官方的中国镜像,然后我并没有找到怎么启用,找到了再写。 使用这些镜像或者加速器,拉取各种官方镜像是ok了,自有的镜像也可以放在国内的registry。 但是官方镜像只是沧海一粟,大量的组织或个人的镜像都在docker hub,这一部分并没有被镜像同步。 于是,你还是需要一个代理。 本文假设: 你已经有一个http代理了 Linux发行版的服务管理器使用的是systemd 本文写于 Version 17.03.0-ce , 在 Docker 1.13 和 17.03 上是可以的,不排除将来有所改变 顺带说一句,Windows版的在 Settings 的图形界面上直接可以设置代理。 关于systemd 很多人可能对systemd还不熟悉,但主流发行版已经全都切换成systemd了,还是很有必要了解一下。 # 重启docker $ sudo systemctl restart docker # 对应的旧的命令,其实现在还是支持,效果和上一句一样。 $ sudo service docker restart # 设置开机启动 $ sudo systemctl enable docker systemd是由文件夹/lib/systemd/system中的docker.service文件定义的。 我们随便搜索一下systemd教程,就知道怎么样自己编写一个service文件了。 于是你可能跃跃欲试,把这个文件改一改,代理加进去就好了嘛。 等等,不要着急,如果你自己在做一个自己的服务,当然是要自己直接写这个文件了。但是,我们的docker是从官方源安装的。 这意味着你现在改了这个文件虽然会生效,但是docker一升级,这个文件又被覆盖了呢。针对这个问题,systemd当然也有解决方案。 你其实只需要创造一个叫 <something>.conf 的配置文件,名字随便起,放在 /etc/systemd/system/docker.service.d 目录。你就覆盖了默认的启动配置,并且它会作为你的用户配置一直存在。 HTTP proxy 好了,现在我们可以开始加代理配置了。 默认情况下这个配置文件夹并不存在,我们要创建它。 $ mkdir -p /etc/systemd/system/docker.service.d 创建一个文件 /etc/systemd/system/docker.service.d/http-proxy.conf 包含 HTTP_PROXY 环境变量: [Service] Environment="HTTP_PROXY=http://proxy.example.com:80/" 如果有局域网或者国内的registry,我们还需要使用 NO_PROXY 变量声明一下,比如你可以能国内的daocloud.io放有镜像: ...

2017年3月10日 · 1 分钟 · Hyacinthus

switch to hugo

我从04年开始写博客 最开始是在 blogger,我是 google fans 嘛。 自己买了域名绑定上去,后来被墙了,又研究了反向代理。 感谢gfw让我第一时间就接触了nginx,远在它流行之前。 后来 GAE 刚出来,很为 google 的云计算平台激动。 我找了个叫microlog的部署在GAE的博客。 刚好还是用我爱的python写的,没事了学习一番。有什么问题也能小改一下。 GAE也让我第一时间就接触了PAAS的云服务,可惜这么多年过去了,IAAS和SAAS都很普及了, PAAS依然不温不火,我估计很多人是担心PAAS 大家也可以看到,这个项目在2011年就不维护了。 那个时候可能用这个博客的人引起了某些注意,开始有大量的广告留言。 我于是转到了著名的wordpress,这个技术博客也是那时候另开的。 很多朋友都自己写一个博客程序,作为练手。 我没有那样做,有时间的话,我还有更多有意义的程序去写。 wordpress其实挺好的,一直在维护,功能完善,生态丰富。 想要写作,是足够了。 我们很有必要把写程序和写博客分清楚。 很多人写出来一个博客程序,却再也不在上边记日志了。 用wordpress的日子里,搬过好几次地方。 最开始是在国内的一个虚拟主机 后来在v2ex被安利了linode,于是买了一个linode 我并没有在大家都去digital ocean的时候再转投 用了四五年后,linode虽然厚道,经常免费升级配置。 可是依然顶不住墙的威力,越来越慢,有时还会被波及需要换IP。 于是又重新在国内备案,转回了国内。 用wordpress后有一段时间微博很火。 我想把博客同步发在微博上。 开始自己写了个微博的第三方应用。 后来顶不住接口经常变,用了多说。 再后来我就不上微博了,直到多说开始有很多垃圾广告过滤不掉, 也弃用了多说。 再后来,我回西安,变得很忙。 很惭愧,没怎么分享技术。 这时开始流行静态博客。 Jekyll , Hexo ,等。 我研究了一阵子,但并没有折腾。 我想有那时间我还不如多写两篇blog– 虽然其实并没有写。 最近,我反思了自己,觉得自己有时瞎忙。 我会督促自己,抽出来一些时间, 整理自己正在研究的知识,分享出来。 现在我要分享更成体系一点的东西。 而不是原来少是解决一些奇怪的工具问题。 进入golang的世界之后,我发现了很多宝藏。 在发现caddy之后,我看到了nginx被革命的先兆。 把自己的 webserver 换到 caddy 自动 http2 ,自动 https ,好酷。 然后又折腾了很久 wordpress 全站 https 化。 ...

2017年3月9日 · 1 分钟 · Hyacinthus

Mac 版的 Dropbox 有时候代理会失效

这个问题困扰我好久了 我的 Dropbox 经常就不更新文件了 貌似是只上传不下载 下载也没报错 就是发现不了新增文件 重设代理 换线路 各种试 今天终于找到原因了 MAC OS 版的 Dropbox 有个问题 在你修改过代理配置 或者换了代理线路后 Dropbox 客户端只有重启才会生效 所以从来只是合上盖子的macbook 搞不好什么时候 Dropbox 就不灵了 这时候你就需要关了它再开一次 目前只能这样解决……

2016年7月19日 · 1 分钟 · Hyacinthus

技术带走了你的运气

最近神州专车新出来了会员系统 短信通知我已经是黄金会员 可以去看看权益 一大堆会员权益里 什么抽奖啊生日免单啊都没什么特别的 但是一项权益吸引了我的注意 它叫免费升舱 这当然是跟航空公司学的 但区别在于 这实现起来很难 航空公司可以在确定头等舱无人时给常客升舱 但神州的高级车何时闲置的概率最大是需要大量的数据和计算的 这一点应该在以前都做到了 因为在叫车的时候 运气好就会随机叫到高级的车 但这次 预测上升了一个等级 神州把这种免费升舱的机会 有意的分给了高级的会员 你要是不是常客 以前的运气可能不会眷顾你啦 恰巧 也是在这几天 我碰到一个类似的例子 在论坛里有人问 为什么顺丰变得越来越垃圾 下边有人问为什么 楼主说现在同城都是第二天才到 我于是指出 顺丰在最近才规范化了产品线 分为当日达次日达隔日达等等 以前你发一个单子 正常第二天到 运气好了当天就到 当顺丰的IT系统进步后 你就没有以前的运气了 它已经能精确的控制每个快件的运输时间 把以前你运气好的那些机会 给了付钱更多的人 这是两个很类似的例子 都是使用IT技术提高效率从而增加利润 神州专车虽然没有直接增加利润 但是会员系统对于忠诚度和消费习惯的培养是很重要的 总之 技术会让我们的生活越来越美好

2016年6月30日 · 1 分钟 · Hyacinthus

Nexus 6P 的指纹识别问题

几个月前我在 Nexus 6P 价格稳定后入了它 无论外观还是性能都很满意 尤其是它灵敏的指纹解锁 反应迅捷 十分方便 可是未曾想到 某一天夏天突然来了 然后就发生了一件尴尬的事情 因为牛仔裤的裤兜口的小袋子上一般都有一个纽扣 我为了不让它划伤屏幕 养成了屏幕朝外放进兜里的习惯 随着气温的升高 从某一天开始 手机就经常在我兜里振 开始我不知道为什么 直到碰到好几次拿出来用指纹解锁 发现显示尝试次数过多 我恍然大悟 原来是手机隔着一层裤子口袋 竟然还以为我的大腿是手指 按了指纹解锁 于是就一直解锁失败 每次拿出来 都不能用指纹解锁了 并且因为在口袋里频繁激活 同时变得特别费电 这个问题好尴尬啊 还不好解决 不知道有什么办法没

2016年6月23日 · 1 分钟 · Hyacinthus

弃用 Linode

我从04年开始写博客 并没有写出来多少有用的文章 倒没少折腾 从blogger 到 GAE wordpress 静态等等都折腾过 现在这个部署在Linode上的wordpress有三五年了吧 在平台上 我还是支持wordpress 不管它多么臃肿多么慢 但blog最重要的是写不是吗 在这种级别的访问量下 性能从来都不是问题 wordpress有良好的生态 你不用为垃圾广告之类的烦心 只用打开后台或者客户端 好好写就行了 在服务器上 我也算是基本把各种国内外的云都用过了 但其实用的都不深入 所以从来不敢写什么评测 以前我只有一个Linode的 VPS 什么都在上边折腾 最早的时候 国内还没有这东西 现在则是很普及很便宜了 以前用Linode还有一个重要的原因 用途是啥你懂的 现在有更专业的方式 也没必要用自己的服务器了 那么我完全没必要把博客放到国外 让国内访问还很慢 移回来吧 现在备案好容易 那么就跟用了多年的Linode说再见了 我甚至都无从评价Linode好不好 我看后来后多人都用DO了 我也没有跟风换过去 现在也算是多年来的一个节点吧 写篇废话感谢一些Linode多年来陪我的日夜 你也许很好 但在网络世界里我们竟然还是存在距离 byebye

2016年6月15日 · 1 分钟 · Hyacinthus

locale: Cannot set LC_ALL to default locale

我之前用 Azure 的时候就碰到这个问题,当时搜索了一下解决了。 结果我今天用 ucloud 又出现了这个问题。 结果忘记那个生成语言包的命令了,又去搜,决定记下来。 一个云主机,用官方镜像列表中的 ubuntu server 14.04 初始化。 什么都没做,就有这个问题。 这几个厂商其实应该解决下这个问题。阿里云就没这问题。 先用 locale 命令看看 ubuntu@10-9-53-8:~$ locale locale: Cannot set LC_CTYPE to default locale: No such file or directory locale: Cannot set LC_ALL to default locale: No such file or directory LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_CTYPE=zh_CN.UTF-8 LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL= ubuntu@10-9-53-8:~$ locale -a locale: Cannot set LC_CTYPE to default locale: No such file or directory C C.UTF-8 en_US.utf8 POSIX ubuntu@10-9-53-8:~$ localectl list-locales C.UTF-8 en_US.utf8 所以其实这里只有一个问题。但有两个办法。 ...

2016年6月7日 · 1 分钟 · Hyacinthus

弃用多说

今天发现有人留言, wordpress 系统有收录但是多说没有。 可显示留言是多说负责的,于是没有显示。 于是我想了一下为什么用多说。 是因为之前用它的同步到新浪微博的功能。 可我已经放弃使用新浪微博两年多了。 而多说带来的只有各种问题。 最烦恼的就是垃圾过滤的很差。 整天有大量的广告。 wordpress + Akismet 反而没这个问题。 于是很干脆的就把多说卸载掉啦。 顺便反思了一下, 对于依赖别的平台的产品,一定要见风使舵, 依赖的平台衰落了,就赶紧跳船吧。 最近还是微信这个船比较大。

2016年6月7日 · 1 分钟 · Hyacinthus

微信零钱提现要收手续费了,对你有什么影响?

今天一早大家就在纷纷讨论,微信钱包提现收手续费了,太不厚道了。 而我认为,大家不必激动,这个改变对大部分朋友毫无影响,而微信也并没有不厚道。 先来看看规则: 简单说来,就是仅有你从微信零钱里点题图的那个“提现”按钮,将钱提取到银行借记卡里,会被收取千分之一的手续费。 然后我来给大家分析一下各种场景: 我的钱包里只有几块钱 可能你并不怎么用微信钱包,只是随手抢了几个红包,等凑多点儿再包成红包给别人发出去呗,收发红包不会被收任何费用。如果你考虑用微信钱包做别的事,可以继续往下看。 <li> 我的钱包里有几十块 <p> 看来你抢了不少红包,或许也充钱给别人发过红包,可能还用微信支付偶尔在网上或者线下支付。这些都不受影响。不过说个小Tips,使用微信的支付功能最优的情况是绑定个信用卡,直接从信用卡上支付,并不需要预先充值到零钱里。</li> <li> 我有好几百的零钱呢 <p> 可能你通过AA收款功能收过款,也许是收到了财主发的红包,但是几百块是很容易花掉的,微信零钱可以充话费,可以交某些地方的水电费。这些都是不收手续费的。</li> <li> 我的钱包里有好几千 <p> 不管你怎么来的,用微信花掉好几千也不难,微信零钱可以给信用卡还款。给信用卡还款也是不收取手续费的哦。</li> <li> 好几万怎么办? <p> 好吧,你就是微信支付团队要针对的人了,他们只是想避免人们利用这个渠道进行大规模的银行间免费转账。现在你可以在3月1日前提现这些零钱,也是免费的。如果在3月1日后,那么你可以把大部分零钱用理财通买理财,然后慢慢的通过微信支付和还信用卡花掉。只要你不着急用这笔现金,肯定是不会吃亏的。</li> <li> 特别注意,不要再随便用微信给别人大额转账。 <p> 为了避免朋友拿到你的转账想要提现却有手续费的尴尬,不要用微信进行大额转账了,使用支付宝的移动端或者很多银行的手机银行都是免费的。</li> <li> 特别注意,回忆下是否用零钱在理财通买过理财。 <p> 理财通的理财到期会退回原渠道,也就是说你用借记卡买的会退回借记卡,用零钱买的还是会退回零钱。如果用零钱买过大量的理财,考虑3月前把它提取出来吧,如果你觉得这些钱在将来可以慢慢用来还信用卡,那当然不提取也没关系。</li> </ul> <p> 接下来就说说微信厚道不厚道吧: </p> <ul class="list-paddingleft-2"> <li> 微信允许你3月1日前免费把钱提现,这已经很厚道了。 </li> <li> 微信和支付宝定位不太一样,微信的定位在于支付工具,并没有多少沉淀资金,所以它没办法通过自己的缓冲来规避给银行付款的,而支付宝已经可以通过自己的资金池避免给银行付款。所以微信这样做想要自己少亏点也无可厚非。 </li> <li> 微信这样做,并没有影响它作为支付工具的定位。 </li> </ul>

2016年2月16日 · 1 分钟 · Hyacinthus

在 Windows 10 文件管理器右键启动 PowerShell

大家应该都知道 在文件管理器 按住 shift 右键就有“在此处打开命令行窗口” 需要用命令行的时候还是挺方便的 这也只能怪 Windows 直接打开 cmd 或者 PowerShell 目录都停在 “C:\WINDOWS\system32>” 很不方便 那么当习惯了 PowerShell 之后 可以激活当前文件夹下的 PowerShell 无疑很好 其实很简单 在注册表找到 [HKEY_CLASSES_ROOT\Directory\Background\shell\cmd\command] 把值改成 powershell.exe -NoExit Set-Location “%V” 好了 显示的还是在此处打开命令行窗口 不过打开的是 PowerShell 不知道还有没有更完美的方案 可以显示在此处打开 PowerShell

2016年1月22日 · 1 分钟 · Hyacinthus