什麼是 Docker?
- Ben Golub說(Docker CEO):「Docker不只是一項Container技術,而是要打造一個Container生態系,讓應用程式可以在任何地方執行。」,「Docker是一個可以來建置、移動和執行分散式應用程式的開放平臺」。
- 相較於傳統虛擬化技術 VMware/Xen 是針對作業系統虛擬化,而 Docker 則是以軟體為基礎的虛擬化,這不但實現了軟體快速佈署、轉移、開發協同合作等特性。
- Docker是一個Client-Server架構的應用程式,安裝Docker之後,會提供了一個命令列的用戶端程式來和在背景執行的Docker伺服器溝通,Docker也完整支援RESTful API,可讓開發人員透過API執行所有Docker指令。甚至Docker還提供了一個腳本語法描述的Dockerfile設定檔,可以用來紀錄和描述建立Docker映象檔的每一個指令。不用複製Docker映象檔,只憑Dockerfile也可以自動建立一個和原來一模一樣的Container的映象檔。甚至可以從Registry服務下載一個映象檔,再依此來建立下一個映象檔,例如從ubuntu的映象檔中,加入MySQL程式,來建立一個內有ubuntu和MySQL的映象檔,用來啟用Container。
官方網站:https://www.docker.com/
介紹影片:
更多介紹文:
更多站內文章:
傳統虛擬化的 Virtual machine 虛擬機器與 Docker 有何不同?
Virtual Machines v.s Docker
基本操作
顯示所有 images
sudo docker images
搜尋 Docker Hub 有哪些 images 可下載,https://registry.hub.docker.com/。
下載 image
sudo docker pull ubuntu:13.10
TIPs:
image 不用刻意下載,當開啟 container 時,如果 image 不存在,系統會自動下載。
ubuntu:13.10 格式 <REPOSITORY>:<TAG>
開啟並進入 container
sudo docker run -i -t ubuntu /bin/bash