Docker是一種容器虛擬化的實現,能夠把開發的程序自動部署到容器的開源引擎。tvcBlKODCBABIkAEUobA/wO25hTre7Xx4QAAAABJRU5ErkJggg=容器是直接運行在操作系統上的,因此容器虛擬化也被稱爲“操作系統級虛擬化”。 容器簡單說就是鏡像的一個運行實例,所不同的是,他帶有額外的可寫文件層,
鏡像是構建Docker的基礎,用戶通過鏡像來運行自己的容器。Docker的鏡像保存在Registry中,分爲公有和私有兩種(此Maven的私服和公共庫概念相似),公共的Registry保存在Docker Hub上,可以在Docker Hub註冊賬號用以分享和保存自己的鏡像,也可以搭建私服在局域網中保存和使用自己的境像,下面是操作鏡像的相關命令詳解
獲取鏡像[docker pull [host:port]/name:tag],pull命令可以從指定的服務器倉庫上下載鏡像,如果不指定服務器,則默認從registry.hub.docker.com公共倉庫下載鏡像,如果不指定tag,則會默認下載tag爲latest的鏡像文件。
docker pull ubuntu : 從registry.hub.docker.com公共倉庫下載鏡像ubuntu,其tag爲latestdocker pull dl.dockerpool.com:5000/ubuntu:14.04 從 dl.dockerpool.com:5000倉庫下載tag爲14.04的ubuntu的鏡像
列出鏡像信息[docker images]
獲取鏡像的詳細信息(docker inspect )
也可以通過docker inspect -f "{{.filed}}"獲取鏡像的某一項信息
搜索鏡像[docker search name] ,有下列可選選項
- --filter:設置過濾器,如只展示星級爲3的鏡像:docker search mysql --filter=stars=3
- --no-trunc:不截斷輸出信息
- --no-index:不截斷輸出信息
刪除鏡像[docker rmi (name:latest|ID)]:根據鏡像名或ID刪除鏡像,注意在刪除鏡像前必須要關閉所有由該鏡像創建的容器
如:docker rmi dl.dockerpool.com:5000/ubuntu
創建鏡像
- 基於已有鏡像的容器創建,該方法主要使用[docker commit 容器ID],其相關選項信息如下
-a, --author="" 作者信息
-p,--pause=true 提交時暫停容器運行
如下所示:docker commit -a 'huxin' -m 'create a new image' test:latest
- 基於本地模板,推薦使用OPENVZ提供的模板來創建[cat template.tar | docker import - name:latest],如下所示
鏡像導入與導出[docker save] [docker load]
導出鏡像: docker save -o slackware-13.37.tar slackware:13.37
導入鏡像
docker load --input slackware_13.37.tar 或者 docker load < slackware_13.37.tar