Docker直譯為碼頭工人。當它成為一種技術時,做的也是碼頭工人的事。官網是這樣描述它的:“Docker是一個開發的平臺,用來為開發者和系統管理員構建、發布和運行分布式應用。”也就是說,如果把你的應用比喻為貨物,那么碼頭工人(Docker)就會迅速的用集裝箱將它們裝上船??焖?、簡單而有效率。
它是用Go語言寫的,是程序運行的“容器”(Linux containers),實現了應用級別的隔離(沙箱)。多個容器運行時互補影響,安全而穩定。
我喜歡它的原因就是快速部署,安全運行,不污染我的系統。
Docker在Ubuntu的部署實踐
本文講述Docker在Ubuntu系統上的部署過程。其中,Ubuntu為12.04.5 LTS, Precise Pangolin版。
1、安裝Docker
# apt-get update# apt-get install docker.ioReading package lists... DoneBuilding dependency tree Reading state information... DoneE: Unable to locate package docker.ioE: Couldn't find any package by regex 'docker.io'
說明Ubuntu 12.04的軟件倉庫中沒有Docker軟件。檢索網上的資料,Ubuntu 14.04是支持Docker的。在不升級OS的情況下,安裝就需要采用另外的方法。
不過這樣也好,軟件倉庫中的Docker通常都不是最新版本,采用其它安裝方式可以安裝最新版本的Docker。
注:在Ubuntu的軟件倉庫里,Docker叫docker.io,原因是已經有別的軟件先占據了Docker這個名字。
# curl -sSL https://get.docker.com/ubuntu/ | sudo shExecuting: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.JO0wslsx8U --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9gpg: requesting key A88D21E9 from hkp server p80.pool.sks-keyservers.netgpg: key A88D21E9: public key "Docker Release Tool (releasedocker) <docker@dotcloud.com>" imported......Setting up aufs-tools (1:3.0+20111101-1ubuntu1) ...Setting up cgroup-lite (1.1.5) ...cgroup-lite start/runningSetting up lxc-docker-1.7.1 (1.7.1) ...docker start/running, process 10483Setting up lxc-docker (1.7.1) ...Processing triggers for libc-bin ...ldconfig deferred processing now taking place
此命令會把Docker官方提供的最新版本的軟件倉庫替換Ubuntu的相應倉庫。有一點要注意,采用這種方式進行安裝,Docker的軟件包名應該叫lxc-docker。此時,Docker命令的名字還是docker。而采用之前上面的安裝方式,Docker命令的名字應該叫docker.io。
2、再升級Docker
# sudo apt-get update && sudo apt-get upgrade
3、添加用戶權限
如果不是root用戶的的操作,可以添加一個用戶到Docker用戶組,這樣操作Docker時無需使用sudo命令。可以這樣:
# sudo gpasswd -a USER docker
4、檢查Docker的安裝
# docker versionClient version: 1.7.1Client API version: 1.19Go version (client): go1.4.2Git commit (client): 786b29dOS/Arch (client): linux/amd64Server version: 1.7.1Server API version: 1.19Go version (server): go1.4.2Git commit (server): 786b29dOS/Arch (server): linux/amd64
5、列出正在運行的容器
# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6、列出所有的容器(包括正在運行的容器和已經退出的容器)
# docker ps -a
7、列出本地(已下載的和本地創建的)鏡像
# docker images
8、從鏡像中運行一個新實例容器
# docker run
9、停止一個容器
# docker stop
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
新聞熱點
疑難解答
圖片精選