docker学习(九)docker镜像的基本操作

查看镜像:

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(镜像的维护人) "[email protected]" (维护人的联系方式)
RUN apt-get update (执行的命令)
RUN apt-get install -y nginx (执行的命令)
EXPOSE 80 (暴露的端口)

你可能感兴趣的:(docker学习(九)docker镜像的基本操作)