Docker 與 Rocket

兩邊開始喊話了。

CoreOS 的人首先先發表了 Docker 的替代品 Rocket:「CoreOS is building a container runtime, Rocket」。

Docker 的人則發文反擊:「Initial thoughts on the Rocket announcement」。

目前資訊不足,不知道起因是什麼,不過已知 Docker 後面是 dotCloud,而 dotCloud 的記錄不太好。

繼續觀察看看吧。

在 Ubuntu 12.04 LTS 上跑 Docker...

dockerdotCloud 發展出來的 LinuX Container 管理程式。

由於建議在 Linux Kernel 3.8 以上的版本跑,所以在 Ubuntu 12.04 LTS 上會需要 backport kernel,參考「ubuntu 12.04 kernel upgrade to 3.10」這篇的方法就可以了。

sudo apt-get install linux-image-generic-lts-raring
sudo apt-get install linux-headers-generic-lts-raring

裝完重開機後應該就可以看到新版 kernel:

$ uname -a
Linux GSLIN-DESKTOP 3.8.0-30-generic #44~precise1-Ubuntu SMP Fri Aug 23 18:32:41 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

接下來依照「使用 Docker/LXC 迅速启动一个桌面系统」這篇的方法,透過 ppa 安裝 docker。

sudo add-apt-repository ppa:dotcloud/lxc-docker
sudo apt-get update
sudo apt-get install software-properties-common lxc-docker

然後用標準的 ubuntu 系統,第一次跑需要抓檔案,但第二次跑就快很多了:

sudo docker run -i -t ubuntu /bin/bash

每次都是乾淨的環境,我第一次進去的時候 touch 一個檔案,第二次進去後就沒了:

gslin@GSLIN-DESKTOP [~] [04:52/W3] sudo docker run -i -t ubuntu /bin/bash
WARNING: Docker detected local DNS server on resolv.conf. Using default external servers: [8.8.8.8 8.8.4.4]
root@679a4301aecc:/# ls -al /tmp
total 8
drwxrwxrwt  2 root root 4096 Apr 11 21:11 .
drwxr-xr-x 24 root root 4096 Sep 22 20:52 ..
root@679a4301aecc:/# touch /tmp/foo.txt
root@679a4301aecc:/# ls -al /tmp
total 8
drwxrwxrwt  2 root root 4096 Sep 22 20:52 .
drwxr-xr-x 25 root root 4096 Sep 22 20:52 ..
-rw-r--r--  1 root root    0 Sep 22 20:52 foo.txt
root@679a4301aecc:/# exit
gslin@GSLIN-DESKTOP [~] [04:52/W3] sudo docker run -i -t ubuntu /bin/bash
WARNING: Docker detected local DNS server on resolv.conf. Using default external servers: [8.8.8.8 8.8.4.4]
root@7ced1a7c82bb:/# ls -al /tmp
total 8
drwxrwxrwt  2 root root 4096 Apr 11 21:11 .
drwxr-xr-x 24 root root 4096 Sep 22 20:52 ..
root@7ced1a7c82bb:/# exit

另外可以參考「Docker: Git for deployment」這篇。

看起來是拿來測試的好工具... 準備拿來測 Puppet