bowman 发布的文章

之前一直听到的声音是,openvz6的机器不能安装docker,
但是只有openvz才会有大内存多处理器的便宜机器
现在,好消息来了,只要你的机器内核不是特别老,且主机商愿意在母鸡上加一个小小的参数,你就可以运行docker了


首先,你需要登陆主机,查看系统内核版本

uname -r

一般会出现类似 2.6.32-042stab134.8的版本,如果042stab后面的数字(xxx.x)大于等于105.4的话,恭喜你,你的vps可以安装docker

你可以选择centos7系统,也可以选择ubuntu 16.04(低于这个版本,因为没有systemctl,会更麻烦),为了避免主机商拒绝你,我建议你安装centos7,因为openvz官方文档是这样写的
注意先备份数据,有时候服务商可能需要删除你的机器,并重装
紧接着,你需要给服务商发一个工单,比如这样写

Hello, admin:
I would like to install docker on my openvz server, the
openvz official document said that it can be done simply by setup two
flags on the openvz host https://wiki.openvz.org/Docker_inside_CT
Could you please consider assist me ? you can feel free to format or
reinstall my machine

我来解释下官方文档操作的含义

#Container creation and tuning 容器创建和调整的过程:
#Create CentOS 7 container with enough disk space: 创建一个有充足磁盘空间的CentOS 7 容器
vzctl create $veid --ostemplate centos-7-x86_64 --diskspace 20G
#Turn on bridge feature to allow docker creating bridged network: 开启桥接功能使得docker可以创建桥接网络
vzctl set $veid --features bridge:on --save
#Setup Container veth-based network: 设置容器的基于veth的网络接口
vzctl set $veid --netif_add eth0 --save
#Allow all iptables modules to be used in containers:#允许容器使用完整的iptables模块
vzctl set $veid --netfilter full --save
#Enable tun device access for container: 允许容器使用tun设备
vzctl set $veid --devnodes net/tun:rw --save
#Configure custom cgroups in systemd: 在systemd设置自定义的cgroups
#systemd reads /proc/cgroups and mounts all cgroups enabled there, though it doesn't know there's a restriction that only freezer,devices and cpuacct,cpu,cpuset can be mounted in container, but not freezer, cpu etc. separately 
#systemd 读取/proc/cgroups 并挂载所有开启的cgroups,但是他不知道只有freezer,devices和 cpuacct,cpu,cpuset可以被挂载,但是单独的freezer, cpu等等不能被挂载
vzctl mount $veid
echo "JoinControllers=cpu,cpuacct,cpuset freezer,devices" >> /vz/root/$veid/etc/systemd/system.conf
#Start the container: 开启容器
vzctl start $veid

如果服务商操作完毕了,接下来你需要登陆服务器
假设你的服务器安装的是CentOS 7

如果你安装了默认的docker,必须删除干净,运行如下命令

yum remove docker docker-common

紧接着,安装docker1.10,注意只有1.10和更老的版本可以使用

vi /etc/yum.repos.d/docker.repo

按下i键,进入插入模式
粘贴如下内容

[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg

按一下ESC,按一下:,输入wq,按下回车,就退出来了
然后安装docker1.10

yum install docker-engine-1.10.3

你可以会发现如下错误


You will get the following error after install:
FATA[0000] Your Linux kernel version 2.6.32-042stab125.5 is unstable running Docker. Please 
upgrade your kernel to 3.10+.

别着急,还差最后一步,执行下面命令

echo "JoinControllers=cpu,cpuacct,cpuset freezer,devices" >> /etc/systemd/system.conf
mkdir -p /etc/docker/ && echo '{"storage-driver": "vfs"}' > /etc/docker/daemon.json

然后尝试再次启动

sudo systemctl start docker
docker run hello-world

如果成功,你会看到如下消息

    
Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

问题来了,哪个主机商会配合你?
我亲测可以的 n3server
推荐机型
3GB OpenVZ

3GB RAM
3GB SWAP
4 x CPU Core
120GB HDD Space
5TB Bandwidth
1Gbps
1 x IPv4
OpenVZ/SolusVM
$9/qtr or $25/yr
注册
购买
请用我的推广链接注册来支持我
还有一个2核的,不推荐
1.5GB OpenVZ

1.5GB RAM
1.5GB SWAP
2 x CPU Core
60GB HDD Space
3TB Bandwidth
1Gbps
1 x IPv4
OpenVZ/SolusVM
$6/qtr or $15/yr
注册
购买
请用我的推广链接注册来支持我

参考文献:
Getting PlexGuide/Docker to work on OpenVZ
How To Install specific Docker version on Linux Machine.
Docker_inside_CT

truffle migrate命令执行时出现如下错误
Attempting to run transaction which calls a contract function, but recipient address is not a contract address
原因:build里面有旧的编译状态,而你的ganache已经重置了
解决方法:重置编译状态,执行 truffle migrate --reset

truffle compile常见问题
SyntaxError: Source file requires different compiler version (current compiler is 0.5.0+commit.1d4f565a.Emscripten.clang - note that nightly builds are considered to be strictly less than the released version
pragma solidity ^0.4.24;
^----------------------^
solc编译器版本和合约要求的无法兼容,truffle目前很难换编译器,这种问题只能升级,降级truffle版本,比如上面这条错误,就需要把truffle从5.0降级到4.1.15
命令如下

npm uninstall -g truffle
npm i -g truffle@4.1.15

原文链接https://www.ycombinator.com/howtoapply/
暂时只是谷歌翻译版本

Y Combinator每年两次申请资助。如果我在阅读时解释了我们所寻找的内容,我认为这对申请人有帮助。

可能人们对这个过程不了解的最重要的事情就是清楚表达自己的重要性。每年我们都会得到一些显然很好的应用程序,有些应用程序显然很糟糕,而中间则是我们无法分辨的大量应用程序。这个想法看起来很有希望,但对我们理解它并没有得到足够的解释。创始人看起来似乎可能很好,但我们没有清楚地了解他们的说法。

我怀疑对于我们邀请采访的每个小组,还有一两个同样好的但是我们会因为他们无法表达他们的好处而过去。如果这是真的,另一种说法是,在足够好的团体进行面试的过程中,超过一半的人会对应用程序进行打击。

如果我们获得1000份申请并且有10天时间阅读,我们每天必须阅读大约100份申请。这意味着读取您的应用程序的YC合作伙伴平均已经阅读了50天,还有50多个。你的必须脱颖而出。所以你必须格外清晰简洁。无论你要说什么,都要用最简单的术语在第一句中把它交给我们。

所有YC合作伙伴都阅读了申请。我们各自单独做,以避免集体思考,所以我不确定其他人做了什么,但它可能与我做的相似。

我看到的第一个问题是,“你的公司要做什么?”这不是我最关心的问题,但我首先看一下,因为我需要一些东西来挂起我的脑海中的应用程序。

最好的答案是最重要的事实。使用营销说话来让你的想法听起来更令人兴奋是错误的。我们对营销说话免疫;对我们来说只是噪音。所以不要用类似的东西开始你的回答

我们将改变个人与信息之间的关系。

这听起来令人印象深刻,但它什么也没传达。它可能是对任何科技公司的描述。你打算建立一个搜索引擎吗?数据库软件?路由器?我不知道。

你是否有效地解释你的想法的一个测试是询问读者有多接近再现它。读完那句话之后,我并没有比以前更接近,所以它的内容实际上是零。另一个错误是从一个关于问题重要性的大量介绍性段落开始:

信息是现代组织的生命线。将信息快速有效地传递给需要的人的能力对公司的成功至关重要。在所有其他条件相同的情况下,在有效使用信息方面取得优势的公司将比竞争对手具有显着优势。

再次,零内容;读完这篇文章后,读者并没有比以前更接近你的项目了。一个好的答案是:

具有类似wiki的界面的数据库,结合图形用户界面,用于控制谁可以查看和编辑内容。

我不相信这将是下一个谷歌,但至少我已经开始接触它了。我在想这样的事情是什么样的。

创始人拒绝提供事实描述的一个原因是他们似乎限制了你的潜力。 “但它不仅仅是一个带有wiki用户界面的数据库!”问题是,你的描述越少,你说的就越少。因此,最好是在事实上犯错误。

我们建议在演示日出现的初创公司也这样做。最好从对项目的过于狭隘的描述开始,而不是试图完全描述它并完全失去观众。如果对你正在做的事情有一个简单的一句话描述只能传达你的潜力的一半,那实际上是相当不错的。只用第一句话就到了目的地的一半。

简明扼要地描述项目的一个好方法是将其解释为受众已经知道的事物的变体。它就像维基百科,但在一个组织内。这就像是一个电话接听服务,但对于电子邮件。这是工作的eBay。这种形式的描述非常有效。不要担心它会让你的想法看起来是“衍生的”。历史上一些最好的想法始于将两个现有的想法结合起来,没有人意识到可以结合起来。

在花了大约20秒左右尝试理解这个想法后,我跳过去看看创始人。我最初的目标是弄清楚我正在处理什么样的小组。

三个即将从大学毕业的朋友?两位同事在一家大公司一起工作并希望跳船?他们都是程序员吗?程序员和商务人士的混合体?可能有20或30种不同的创始人配置。

一旦我知道我拥有什么类型的组,我就会试着弄清楚它是一个多么好的实例。决定这一点最重要的问题是

请告诉我们

下面付dropbox的申请书
原文https://www.ycombinator.com/apply/dropbox/
Dropbox的原始YC申请书
公司:
公司名:**
Dropbox

公司网址,如果有的话:

http://www.getdropbox.com/
如果你有一个演示,那么网址是什么?对于非软件,demo可以是视频。

(请不要用密码保护它;只需使用一个不起眼的网址。)

这是一个我也会在news.yc上发布的截屏视频:http://www.getdropbox.com/screencast/如果你有一两个Windows盒子,这里是最新版本:http://www.getdropbox。 COM / U / 2 / DropboxInstaller.exe
你的公司要做什么?

Dropbox会在您/您团队的计算机上同步文件。它比上传或电子邮件好得多,因为它是自动的,集成到Windows中,并且适合您已经工作的方式。还有一个Web界面,文件安全地备份到Amazon S3。 Dropbox有点像采用颠覆,trac和rsync的最佳元素,并使它们“适合普通个人或团队工作”。黑客可以访问这些工具,但普通人却没有。它目前处于私人测试阶段,我每隔几天就会添加一批人。

有许多有趣的可能功能。一种是将Google Docs / Spreadsheets(或其他办公网络应用)同步到本地.doc和.xls文件以进行离线访问,这在战略上非常重要,因为很少有网络应用处理离线问题。
创始人
所有创始人的YC用户名,包括你,dhouston,用空格分隔。 (那是用户名,不是名字:“bksmith”,而不是“Bob Smith。”如果有3位创始人,那么答案中应该有3个令牌。)

dhouston
所有创始人的YC用户名,包括你,dhouston,如果我们资助你,他们将住在2007年6月到8月的湾区。 (再次,这是用户名,而不是名称。)

dhouston
对于每位创始人,请列出(每个项目的单独行):YC用户名;名称;年龄;毕业年份,学校,学位(未完成的学位)和每个学位的科目;电子邮件地址;个人网址,github网址,linkedin网址,脸书ID,推特ID;雇主和以前工作的头衔。首先列出主要联系人。用空白行分开创始人。在任何不能移动到湾区的人的名字前加上星号。

dhouston;德鲁休斯顿; 24; 2006年,麻省理工学院,SB计算机科学; ; - ; Bit9,Inc(全职到兼职1/07; 5月离职) - 项目负责人/软件工程师

虽然我和Dropbox上的其他人一起工作,严格来说我是现在唯一的创始人。我的朋友杰夫曼库索,一位伟大的黑客,斯坦福大学的毕业生和Sftpdrive的创建者(http://www.sftpdrive.com)正在组建一个Mac端口,但现在不能作为创始人加入他作为他开始的前联合创始人一家名为Sharpcast的极其类似的公司。我的朋友和来自麻省理工学院的室友汤姆胡佛也在帮忙,但他在Bit9与我合作,我的雇佣合同中的非招揽条款阻止我招募他(而且英国副总裁明确告诉我不要招募他。)

在任何情况下,我都有几个线索,一直在积极联网,并且完全打算让其他人加入 - 另一个好黑客和/或更多以销售为导向的人(例如Matt在Xobni填补的角色)。我知道单个创始人的可能性并不大,而且宁愿与其他人合作。
请用一两句话告诉我们每个创始人建立或实现的创业以外最令人印象深刻的事情。

德鲁 - 从5岁开始编程;初创公司从14岁开始;在SAT上1600;在大学开始盈利的在线SAT准备公司(accoladeprep.com)。为了获得乐趣,去年夏天在许多扑克网站上反向设计了该软件并写了一个真钱玩扑克机器人(它是关于收支平衡;稍后在应用程序中查看截图网址。)
请告诉我们一个有趣的项目,最好是在课堂或工作之外,两个或多个人一起创建。如果可能,请包含网址。

Accolade在线SAT准备(2004年推出)(https://www.accoladeprep.com/sshot2.gif;它在那里使用游戏币,但也使用真钱。)
创始人彼此认识多长时间,你是如何见面的?有没有任何创始人没有亲自见过面?

这里有一个笑话。
如果我们资助你,哪个创始人将承诺明年在这个项目上独家工作(没有学校,没有其他工作)?

德鲁
任何创始人是否在2007年6月至8月期间都有其他承诺?

没有;无论YC资金如何,我都会在几周内离开Bit9来全职工作。
是否有任何创始人在未来有承诺(例如完成大学,进入研究生院),如果有的话,是什么?

不。可能在9月份转向SF
进展
你们每个人在这方面工作多久了?你是兼职还是全职?请解释。

3个月的兼职。关于~5KLOC客户端和~2KLOC服务器的python,C ++,Cheetah模板,安装程序脚本等。
你走了多远?你有测试版吗?如果没有,你什么时候开心?你推出了吗?如果是这样,你有多少用户?你有收入吗?如果是这样,多少钱?如果你发布了,你的是什么