一、什麼是Docker的鏡像
Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後發佈到任何流行的Linux機器上,也可以實現虛擬化,容器是完全使用沙箱機制,相互之間不會有任何接口。一個完整的Docker有以下幾個部分組成:
- Docker Client客戶端
- Docker Daemon守護進程
- Docker Image鏡像
- Docker Container容器
鏡像是一個模板,是一個包含程序運行必要依賴環境和代碼的只讀文件,它採用分層的文件系統,將每一次改變以讀寫層的形式增加到原來的只讀文件上。鏡像是容器運行的基石。可以從鏡像倉庫中獲取做好的鏡像。鏡像倉庫可以使用公有倉庫(https://hub.docker.com/ ),也可以搭建自己私有的鏡像倉庫。
下圖展示的是Docker鏡像的系統結構。其中,鏡像的最底層必須是一個稱爲啓動文件系統(bootfs)的鏡像,用戶不會與這一層直接打交道。bootfs的上層鏡像就是我們熟知的根鏡像。
鏡像的本質是磁盤上一系列文件的集合,如下圖所示:
二、使用和訪問Docker官方公有的鏡像倉庫
- 使用search命令搜索倉庫中的鏡像,如:mysql
docker search mysql
結果如下:
- 使用pull命令獲取鏡像,如:mysql的鏡像
docker pull mysql
- 使用獲取的MySQL鏡像,創建一個容器
docker run --name my_mysql -p 3306:3306
-e MYSQL_ROOT_PASSWORD=Welcome_1 -d mysql
- 使用docker ps查看容器信息
- 再下載一個Tomcat的鏡像
docker search tomcat
docker pull tomcat
- docker images顯示本地已經有的鏡像