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(镜像的维护人) "zhiyuan@outlook.com" (维护人的联系方式)
RUN apt-get update (执行的命令)
RUN apt-get install -y nginx (执行的命令)
EXPOSE 80 (暴露的端口)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Docker — 云时代的程序分发方式 要说最近一年云计算业界有什么大事件?Google Compute Engi...
    ahohoho阅读 15,686评论 15 147
  • 转载自 http://blog.opskumu.com/docker.html 一、Docker 简介 Docke...
    极客圈阅读 10,605评论 0 120
  • 0. 前言 docker是什么?docker是用GO语言开发的应用容器引擎,基于容器化,沙箱机制的应用部署技术。可...
    sessionboy阅读 3,899评论 2 49
  • 五、Docker 端口映射 无论如何,这些 ip 是基于本地系统的并且容器的端口非本地主机是访问不到的。此外,除了...
    R_X阅读 1,862评论 0 7
  • 作为一名半吊子的天文工作者,我发现我国拔萝卜机的成长变化曲线和半人马座α星附近的一个黑洞的质量变化完全相关。 自打...
    科幻经典阅读 392评论 0 0