我们很高兴地宣布,Linode现在支持Docker,开箱即用。
Docker允许你为你的应用程序创建轻量级容器,也可以使用其他用户创建的镜像。
Docker的最新版本0.7着重于支持更广泛的标准内核配置选项,我们已经发布了一个新的内核(3.12.6),并对此进行了调整。从这个版本开始,你将能够用默认的Linode内核使用Docker,而不需要通过pv-grub使用自定义内核。
在你的Linode上安装Docker
- 确保你正在运行我们最新的内核。 你可能需要重新启动才能得到它。
- 按照他们优秀的文档来安装Docker:开始使用Docker
你可以通过运行Hello World示例来试用它,也可以深入了解并设置 Redis 服务!欢迎查看所有Docker 示例,或搜索Docker Image Index了解更多信息。
好好享受吧!
评论 (17)
Awesome! Note that Docker is for 64bit only I believe. Someone else may confirm?
That’s correct. From my understanding, they’re currently imposing the 64 bit restriction because it keeps their code cleaner and the benefits of having a 32 bit “host” are minimal.
Our 32 bit kernel has all the right bits flipped as well, so if they do start supporting 32 bit down the line, it’ll work with our kernel too.
I’ll be switching my linode instances today.
Thanks for the awesome work, guys.
I’m trying to understand why people pushing to use docker on cloud instead of dedicated server. In the cloud it adds additional unnecessary level of abstraction.
@Nikola
Ease of deployment.
Ease of Deployment, Manageability, portability and reduces the security surface while able to use less hardware to support the larger VM’s. Dedicated VM’s are in the past.
I was asked if it there is a way to autoscale Docker containers?
@nikola, here is my guess:
If you have a docker instance on your local dev machine, and a docker instance on your dedicated server, you can develop locally & have more confidence it will Just Work ™ when you push to the cloud. Much easier to configure a local docker & a remote docker identically than to configure your dev machine & cloud identically. Can anyone confirm: is that the general idea?
This is very interesting. With a little glue, you can use this to scale linode(s) up/down the way you can scale aws, except that linode’s VMs don’t suck 🙂
Maybe that’s for Q2, after the SSD hybrid rolls out in Q1? Pretty exciting stuff, thanks!
Great stuff, keep it coming!
@NathanielInKS Check out the Flynn project (https://flynn.io) … Afaiu it aims to create an auto-scaling Heroku-like wrapper around Docker. Still in developer preview at the moment though I think.
If I have a linode setup “the old way” (Ubuntu 12.04). With pv-grub. Can I just switch to the new kernel, check xenify and reboot?
Also does this new kernel have the kernel options for limiting memory on docker containers: “cgroup_enable=memory swapaccount=1” enabled?
it seems that linux-image-extra-3.12.6-* is not included in the default repos.
I just checked this with my ubuntu box. I switched off pv-grub then proceeded to load the latest daily build of lxc. Note that if you are on Ubuntu 12.04 you might have to do it like this.
apt-get install –no-install-recommends lxc cgroup-lite lxc-templates
This is due to a recommend entry for uidgen which is unavailable. I’m not sure why it was added though.
Anyways I ran lxc-checkconfig and confirmed all necessary supports are enabled for lxc to run all by itself. 🙂
shinji@icarus:~$ uname -a
Linux icarus.robertpendell.com 3.12.6-x86-linode55 #2 SMP Tue Jan 14 08:41:36 EST 2014 i686 i686 i386 GNU/Linux
shinji@icarus:~$ sudo lxc-checkconfig
— Namespaces —
Namespaces: enabled
Utsname namespace: enabled
Ipc namespace: enabled
Pid namespace: enabled
User namespace: enabled
Network namespace: enabled
Multiple /dev/pts instances: enabled
— Control groups —
Cgroup: enabled
Cgroup clone_children flag: enabled
Cgroup device: enabled
Cgroup sched: enabled
Cgroup cpu account: enabled
Cgroup memory controller: missing
Cgroup cpuset: enabled
— Misc —
Veth pair device: enabled
Macvlan: enabled
Vlan: enabled
File capabilities: enabled
Note : Before booting a new kernel, you can check its configuration
usage : CONFIG=/path/to/config /usr/bin/lxc-checkconfig
Note disregard the memory contoller being marked as missing. As far as I know it requires a kernel startup option to be set which we can’t do with the linode kernels. Also it isn’t enabled in the config anyways probably for the same reason. This only prevents you from setting a memory limit on the containers.
Error: container_delete: Cannot destroy container d5d4d7f442d7: Driver devicemapper failed to remove init filesystem d5d4d7f442d74b17824cbcf1216cb3730053f8cfaefe8a1ea12d328451fc36d7-init: Error running removeDevice
2014/02/19 10:55:59 Error: failed to remove one or more containers
how to fix it?
Same problem…
Driver devicemapper failed to remove init filesystem
Driver devicemapper failed to remove root filesystem
Not sure how to fix this yet…
That’s an upstream Docker problem, not something Linode-specific. I’d recommend reaching out to them via their bug tracker.