使用Docker 镜像

宽为限 紧用功 功夫到 滞塞通

简介

镜像(image)是Docker三大核心概念中最重要的,Docker运行前需要本地存在对应的镜像,如果没有,则会从默认镜像仓库下载,也可以自己配置,使用自定义仓库。

一、搜寻镜像

使用 docker search 命令搜寻远端仓库共享的镜像。用法为:docker search TERM,支持的参数主要包括:

  • –automated=true|false:仅显示自动创建的镜像,默认为否;
  • –no-trunc=true|false:输出信息不截断显示,默认为否;
  • -s, – stars=X:指定仅显示评价为指定星级以上的镜像,默认为0,即输出所有镜像。

look
这里写图片描述

二、获取镜像

使用 docker pull 命令直接从仓库下载镜像。格式为: docker pull NAME[:TAG]。其中,NAME是镜像名称(用来区分镜像),TAG是镜像标签(往往用来显示版本信息)。通常情况下,描述一个镜像需要包括“名称”+“标签”信息。

这里写图片描述
对于Docker镜像来说,如果不显式指定TAG,则默认会选择latest标签,这回事下载仓库中最新版本的镜像。

如果从非官方的仓库下载,则需要在仓库名称前面指定完整的仓库地址。例如从网易蜂巢的镜像源下载ubuntu:14.04镜像,命令如下:

$ daocker pull hub.c.163.com/public/ubuntu:14.04

pull 子命令支持的选项主要包括:
-a, –all-tags=true|false:是否获取仓库中的所有镜像,默认为否。

三、查看镜像信息

1、使用images命令列出镜像

这里写图片描述
这里演示了几个常用子命令选项,更多选项还可以通过 man docker-images来查看。

2、使用tag命令添加镜像标签

为了方便在后续工作中使用特定的镜像,还可以使用docker tag命令来为本地镜像任意添加新的标签。例如给docker.io/hello-world:latest镜像添加一个新标签:
这里写图片描述

3、使用inspect 命令查看详细信息

使用docker inspect命令可以获取该镜像的详细信息,包括制作者、适应架构、各层的数字摘要等。

4、使用history命令查看镜像历史

既然镜像是由多层组成,那么怎么知道各个层的内容具体是什么呢?Look下图:
这里写图片描述

四、删除镜像

1、使用标签删除

$ docker rmi TAG

如果同一个镜像有多个标签的话只会删除指定标签,并不影响镜像,但如果只剩一个镜像标签时它就会删除整个镜像。

2、使用ID删除

$ docker rmi ID

删除前请先停止该镜像启动的容器,当然也可以用子命令选项 -f 强行删除,(学习测试时用的超爽,真怕用习惯了)

五、创建镜像

创建镜像主要有三种方法:基于已有的镜像容器创建、基于本地模板导入、基于Dockerfile创建。
这里只讲第一种,第二种相对少用到,第三种最常用,以后的会有专门的一篇博客对其进行学习。

基于已有镜像的容器创建

用 commit 命令创建镜像
创建一个新容器命令:

$ sudo docker run -i -t ubuntu /bin/bash

安装 Lua 语言环境:

apt-get update -y && apt-get install -y luajit luarocks

再用 exit 命令退出容器,再运行 docker commit 命令:

$  exit
$ sudo docker commit eafd9111ada6 docker/lua
b1829eb2e483c9d353dd8cd21da9bf2f530bd38ccf5a95e08944a887ec856e99

命令中,指定了要提交的修改过的容器的ID、目标镜像仓库、镜像名。commit提交的知识创建容器的镜像与容器的当前状态之间的差异部分,很轻量。
查看新创建的镜像:

$ sudo docker images docker/lua
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
docker/lua          latest              b1829eb2e483        25 seconds ago      301.5 MB

子命令选项:
-a 作者信息
-c 提交时执行的Dockerfile指令,具体之后再详讲
-m 提交消息
-p 提交时暂停容器运行

六、存出和载入镜像

如果要导出镜像到本地文件,可以使用docker save 命令。
这里写图片描述

可以使用docker load 将导出的tar文件再导入到本地镜像库。
这里写图片描述
两种方法哦!–input<

七、上传镜像

使用docker push命令上传到镜像仓库,默认上传到Docker Hub 官方仓库(需要登录)命令格式为:

docker push NAME[:TAG] | [REGISTRY_HOST[:REGISTRY_PORT]/NAME[:TAG]]

第一次上传时,会提示输入登录信息或进行注册。

站在巨人的肩膀上

本篇博文参考的图书是《Docker技术入门与实践》第2版

参考的网络文章
http://www.runoob.com/w3cnote/docker-use-container-create-image.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值