## 信息
# 顯示本地所有的鏡像列表
docker images
# 顯示生成一個鏡像的歷史命令
docker history
-H :以可讀的格式打印鏡像大小和日期,默認為true;
--no-trunc :顯示完整的提交記錄;
-q :僅列出提交記錄ID。
#查看本地鏡像test/ubuntu:16.04的創建歷史。
docker history test/ubuntu:16.04
## 操作
# 使用Dockerfile創建鏡像(推薦)
docker build
# 使用當前目錄的Dockerfile創建鏡像。
docker build -t test/ubuntu:v1 .
# 使用URL github.com/creack/docker-firefox 的 Dockerfile 創建鏡像。
docker build github.com/creack/docker-firefox
# 從容器創建鏡像
docker commit
-a :提交的鏡像作者;
-c :使用Dockerfile指令來創建鏡像;
-m :提交時的說明文字;
-p :在commit時,將容器暫停。
# 將容器a404c6c174a2 保存為新的鏡像mymysql:v1,并添加提交人信息和說明信息。(當在容器內做了改變后可以提交作為自己定制的鏡像)
docker commit -a "xst" -m "it is test" a404c6c174a2 mymysql:v1
# 強制刪除本地鏡像test/ubuntu:16.04。
docker rmi -f test/ubuntu:16.04
# 為鏡像起一個別名
docker tag
docker tag ubuntu:15.10 test/ubuntu:v15(將鏡像ubuntu:15.10標記為 runoob/ubuntu:v15 鏡像。)
## 導出導入
# 從一個tar包創建一個鏡像,和save配合使用
docker load
# 導出鏡像,將一個鏡像保存為一個tar包,帶layers和tag信息
docker save
-o :輸出到的文件。
docker save -o ubuntu_16.tar test/ubuntu:v3 #將鏡像test/ubuntu:16.04 生成ubuntu_16.tar文檔
## 倉庫(registry)相關
# 登錄到一個registry,如果未指定鏡像倉庫地址,默認為官方倉庫 Docker Hub。
# 例如:docker login -u 用戶名 -p 密碼
docker login
#登出一個reigsty,如果未指定鏡像倉庫地址,默認為官方倉庫 Docker Hub。
docker logout
# 從registry倉庫搜索鏡像
docker search
--automated :只列出 automated build類型的鏡像;
--no-trunc :顯示完整的鏡像描述;
-s :列出收藏數不小于指定值的鏡像。
# 從Docker Hub查找鏡像名php5.6-fpm
docker search php:5.6-fpm
# 從Docker Hub查找所有鏡像名包含java,并且收藏數大于10的鏡像
docker search -s 10 java
# 從倉庫下載鏡像到本地
docker pull
-a :拉取所有 tagged 鏡像
--disable-content-trust :忽略鏡像的校驗,默認開啟
#從倉庫下載php的5.6-fpm鏡像到本地,php是鏡像名,5.6-fpm是鏡像標簽
docker pull php:5.6-fpm
#從倉庫下載REPOSITORY為java的所有鏡像。
docker pull -a java
# 將一個鏡像push到registry倉庫中,要先登陸到鏡像倉庫
docker push
--disable-content-trust :忽略鏡像的校驗,默認開啟
# 上傳本地鏡像mycon:v1到鏡像倉庫中。
docker push mycon:v1