查看鏡像:
docker images [OPOTSION] [REPOSITORY]
-a,--all=false 顯示所有鏡像,默認并不顯示中間層的鏡像
-f,--filter=[] 在顯示時的過濾條件
--no-trunc=false 不使用截斷的形式來顯示數據
-q,--quiet=false 只顯示鏡像的唯一ID
例子:
docker images//返回已經安裝的列表
docker images --no-trunc//返回鏡像,并且返回完整的鏡像id
docker images -a//顯示所有的鏡像
docker images -q//只返回imageid
docker images 倉庫名稱//返回倉庫名稱對應的鏡像
查看鏡像的詳細信息:
docker inspect [OPTIONS] CONTAINER|IMAGE [CONTAINER|IMAGE...]
-f,--format=""
例子:
docker inspect ubuntu(倉庫名):14.04(標簽名)
刪除鏡像:
docker rmi [OPTIONS] IMAGE [IMAGE...]
-f,--force=false 會強制刪除鏡像
--no-prune=false 保留被刪除鏡像中被打標簽的父鏡像
例子:
//刪除單個
docker rmi 倉庫名:標簽名 or imageId的剪短形式 or imageId完整形式
//刪除多個
docker rmi 倉庫名:標簽名 imageId的剪短形式 imageId完整形式
//刪除全部
docker rmi $(docker images -q)
查找鏡像:
方法一:Docker Hub
https://registry.hub.docker.com
方法二:docker的命令行工具
docker search [OPTIONS] TERM //最多返回25個結果
--automated=false 自動化選項,選定了就只會顯示自動化構建的docker項目
--no-trunc=false 不以截斷的方式選擇輸出
-s,--start=0 用來選定返回結果的最低星級
例子:
docker search ubuntu
docker search -s 3 ubuntu//星級限制3星以上
拉取鏡像
docker pull [OPTIONS] NAME [:TAG]
-a,--all-tag=false 將匹配到鏡像名字所有標記的鏡像下載到本地
例子:
docker pull ubuntu //不指定標簽默認標簽為:latest
解決國內網絡慢的方法
使用 --registry-mirror選項
1.修改:/etc/default/docker
2.添加:DOCKER_OPTS="--registry-mirror=http://MIRROR-ADDR" https://www.daocloud.io
操作:
1.進入daocloud主頁更多,選擇加速器,他將操作寫成sh文件了,運行sh文件就可以了
2.sudo service docker restart 重新啟動
2.ps -ef | grep docker 查看是否成功
推送鏡像
docker push NAME[:TAG] //要注冊dockerhub賬號
構建docker鏡像
1.保存對容器的修改,并再次使用
2.提供了自定義鏡像的能力
3.以軟件的形式打包并分發服務及其運行環境
方法一:docker commit 通過容器構建
docker commit [OPTIONS] CONTAINER [REPOSITORY][:TAG]
-a,--author="" 鏡像的作者:通常寫作者的名字和聯系方式
-m,--message="" 記錄鏡像構建的信息
-p,--pause=true 由于commit會暫停正在運行的容器暫停,-p可以指示命令不暫停正在運行的容器
例子:
docker commit -a '作者信息' -m '鏡像的信息' 容器名or容器id 鏡像的名稱
docker commit -a 'zhiyuan' -m 'balabala' commite_web01 changebyubuntu
方法二:docker build 通過Dockerfile文件構建
1.創建Dockerfile文件
dockerfile文件:包含了一系列命令的文本文件
例子:
#First Dockerfile
FROM ubuntu:14.04(鏡像的基礎)
MAINTAINER zhiyuan(鏡像的維護人) "zhiyuan@outlook.com" (維護人的聯系方式)
RUN apt-get update (執行的命令)
RUN apt-get install -y nginx (執行的命令)
EXPOSE 80 (暴露的端口)