欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用Docker 镜像

程序员文章站 2022-06-03 14:42:54
...
宽为限 紧用功 功夫到 滞塞通

简介

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

一、搜寻镜像

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

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

look
使用Docker 镜像

二、获取镜像

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

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

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

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

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

三、查看镜像信息

1、使用images命令列出镜像

使用Docker 镜像
这里演示了几个常用子命令选项,更多选项还可以通过 man docker-images来查看。

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

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

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

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

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

既然镜像是由多层组成,那么怎么知道各个层的内容具体是什么呢?Look下图:
使用Docker 镜像

四、删除镜像

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 镜像

可以使用docker load 将导出的tar文件再导入到本地镜像库。
使用Docker 镜像
两种方法哦!–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

相关标签: docker 镜像