Docker 是 dotCloud 最近幾個月剛宣布的開源引擎,旨在提供一種應(yīng)用程序的自動化部署解決方案,簡單的說就是,在 Linux 系統(tǒng)上迅速創(chuàng)建一個容器(類似虛擬機)并在容器上部署和運行應(yīng)用程序,并通過配置文件可以輕松實現(xiàn)應(yīng)用程序的自動化安裝、部署和升級,非常方便。因為使用了容器,所以可以很方便的把生產(chǎn)環(huán)境和開發(fā)環(huán)境分開,互不影響,這是 docker 最普遍的一個玩法。更多的玩法還有大規(guī)模 web 應(yīng)用、數(shù)據(jù)庫部署、持續(xù)部署、集群、測試環(huán)境、面向服務(wù)的云計算、虛擬桌面 VDI 等等。
注意:由于Docker需要在Linux Kernel 3.8及以上才可以很好的工作【本人在ubuntu12.04 lts 內(nèi)核3.2也正常安裝】,官方更是推薦Ubuntu系統(tǒng),這里有兩種選擇:Ubuntu 12.04 LTS或最新的Ubuntu 13.10 而本文比較喜歡傾向LTS,幸好有辦法解決Kernel版本問題。
1、更新Ubuntu內(nèi)核
使用如下命令行更新內(nèi)核至3.8.0-25
sudo apt-get install linux-image-3.8.0-25-genericsudo apt-get install linux-headers-3.8.0-25-generic
完成后重啟電腦,通過命令 “uname -r” 來查看內(nèi)核是否成功更新。
2、安裝lxc-docker
root@ubuntu: sudo apt-get install software-properties-common #增加 add-apt-repository 命令root@ubuntu: sudo apt-get install python-software-properties root@ubuntu: sudo add-apt-repository ppa:dotcloud/lxc-docker #增加一個ppa源,如:ppa:user/ppa-nameroot@ubuntu: sudo apt-get update #更新系統(tǒng)root@ubuntu: sudo apt-get install lxc-docker
3、測試doctor是否安裝成功
root@ubuntu:~# docker #出現(xiàn)如下信息表示docker安裝成功Usage: docker [OPTIONS] COMMAND [arg...]-H=[tcp://127.0.0.1:4243]: tcp://host:port to bind/connect to or unix://path/to/socket touseA self-sufficient runtime for linux containers....
4、Hello World
4.1、下載官方ubuntu image
linjiqin@ubuntu:~$ sudo docker pull ubuntu #pull命令需要到國外的鏡像倉庫,拉取鏡像,因為GFW的關(guān)系,拉取失敗的可能性很大
4.2、運行hello world
linjiqin@ubuntu:~$ sudo docker run ubuntu /bin/echo hello world
5、docker常用命令
5.1、docker三種命令運行模式
docker有三種命令運行的方式:短暫方式、交互方式、daemon方式。
a、短暫方式:就是剛剛的那個”hello world”,命令執(zhí)行完后,container就終止了,不過并沒有消失,可以用 sudo docker ps -
a 看一下所有的container,第一個就是剛剛執(zhí)行過的container,可以再次執(zhí)行一遍:
linjiqin@ubuntu:~$ sudo docker start container_id
不過這次看不到”hello world”了,只能看到ID,用logs命令才能看得到:
linjiqin@ubuntu:~$ sudo docker logs container_id
可以看到兩個”hello world”,因為這個container運行了兩次。
b、交互方式
linjiqin@ubuntu:~$ sudo docker run -i -t image_name /bin/bash #image_name為docker鏡像名稱
c、daemon方式
即讓軟件作為長時間服務(wù)運行,這就是SAAS啊!
例如,一個無限循環(huán)打印的腳本(替換為memcached、apache等,操作方法仍然不變!):新聞熱點
疑難解答
圖片精選