Docker 是一個開源的應用容器引擎,讓開發者能夠打包他們的應用以及依賴包到一個可移植的容器中,而後發佈到任何流行的Linux機器上,也能夠實現虛擬化,容器是徹底使用沙箱機制,相互之間不會有任何接口。一個完整的Docker有如下幾個部分組成:mysql
鏡像是一個模板,是一個包含程序運行必要依賴環境和代碼的只讀文件,它採用分層的文件系統,將每一次改變以讀寫層的形式增長到原來的只讀文件上。鏡像是容器運行的基石。能夠從鏡像倉庫中獲取作好的鏡像。鏡像倉庫能夠使用公有倉庫(https://hub.docker.com/ ),也能夠搭建本身私有的鏡像倉庫。
下圖展現的是Docker鏡像的系統結構。其中,鏡像的最底層必須是一個稱爲啓動文件系統(bootfs)的鏡像,用戶不會與這一層直接打交道。bootfs的上層鏡像就是咱們熟知的根鏡像。sql
鏡像的本質是磁盤上一系列文件的集合,以下圖所示:docker
docker search mysql
結果以下:tomcat
docker pull mysql
docker run --name my_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=Welcome_1 -d mysql
docker search tomcat
docker pull tomcat