Docker系列教程04-Docker镜像常用命令

我们首先来讨论Docker镜像的常用命令。

搜索镜像

可使用 docker search 命令搜索存放在Docker Hub中的镜像。

命令格式:

docker search [OPTIONS] TERM

参数:

Name, shorthand

Default

Description

--automated

false

只列出自动构建的镜像

--filter,-f

根据指定条件过滤结果

--limit

25

搜索结果的最大条数

--no-trunc

false

不截断输出,显示完整的输出

--stars,-s

0

只展示Star不低于该数值的结果

示例1:

docker search java

执行该命令后,Docker就会在Docker Hub中搜索含有“java”这个关键词的镜像仓库。执行该命令后,可看到类似于如下的表格:

NAME                    DESCRIPTION                STARS     OFFICIAL   AUTOMATED
java                    Java is a concurrent, ...   1281      [OK]       
anapsix/alpine-java     Oracle Java 8 (and 7) ...   190                  [OK]
isuper/java-oracle      This repository conta ...   48                   [OK]
lwieske/java-8          Oracle Java 8 Contain ...   32                   [OK]
nimmis/java-centos      This is docker images ...   23                   [OK]
...

该表格包含五列,含义如下:

① NAME:镜像仓库名称。

② DESCRIPTION:镜像仓库描述。

③ STARS:镜像仓库收藏数,表示该镜像仓库的受欢迎程度,类似于GitHub的Stars。

④ OFFICAL:表示是否为官方仓库,该列标记为[OK]的镜像均由各软件的官方项目组创建和维护。由结果可知,java这个镜像仓库是官方仓库,而其他的仓库都不是镜像仓库。

⑤ AUTOMATED:表示是否是自动构建的镜像仓库。

示例2:

docker search -s 10 java

下载镜像[重要]

使用命令 docker pull 命令即可从Docker Registry上下载镜像。

命令格式:

docker pull [OPTIONS] NAME[:TAG|@DIGEST]

参数:

Name, shorthand

Default

Description

--all-tags,-a

false

下载所有标签的镜像

--disable-content-trust

true

忽略镜像的校验

示例1:

docker pull java

执行该命令后,Docker会从Docker Hub中的java仓库下载最新版本的Java镜像。

示例2:

该命令还可指定想要下载的镜像标签以及Docker Registry地址,例如:

docker pull reg.itmuch.com/java:7

这样就可以从指定的Docker Registry中下载标签为7的Java镜像。

列出镜像[重要]

使用 docker images 命令即可列出已下载的镜像。

执行该命令后,将会看到类似于如下的表格:

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
java                latest              861e95c114d6        4 weeks ago         643.1 MB
hello-world         latest              c54a2cc56cbb        5 months ago        1.848 kB

该表格包含了5列,含义如下:

① REPOSITORY:镜像所属仓库名称。

② TAG:镜像标签。默认是latest,表示最新。

③ IMAGE ID:镜像ID,表示镜像唯一标识。

④ CREATED:镜像创建时间。

⑤ SIZE:镜像大小。

命令格式:

docker images [OPTIONS] [REPOSITORY[:TAG]]

参数:

Name, shorthand

Default

Description

--all,-a

false

列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层)

--digests

false

显示摘要信息

--filter,-f

显示满足条件的镜像

--format

通过Go语言模板文件展示镜像

--no-trunc

false

不截断输出,显示完整的镜像信息

--quiet,-q

false

只显示镜像ID

示例:

docker images
docker images java
docker images java:8
docker images --digests
docker images --filter "dangling=true"   # 展示虚悬镜像

删除本地镜像[重要]

使用 docker rmi 命令即可删除指定镜像。

命令格式:

docker rmi [OPTIONS] IMAGE [IMAGE...]

参数:

Name, shorthand

Default

Description

--force,-f

false

强制删除

--no-prune

false

不移除该镜像的过程镜像,默认移除

例1:删除指定名称的镜像。

docker rmi hello-world

表示删除hello-world这个镜像。

例2:删除所有镜像。

docker rmi -f $(docker images)

-f参数表示强制删除。

保存镜像

使用 docker save 即可保存镜像。

命令格式:

docker save [OPTIONS] IMAGE [IMAGE...]

参数:

Name, shorthand

Default

Description

--output,-o

Write to a file, instead of STDOUT

例1:

docker save busybox > busybox.tar
docker save --output busybox.tar busybox

加载镜像

使用 docer load 命令即可加载镜像。

命令格式:

docker load [OPTIONS]

参数:

Name, shorthand

Default

Description

--input,-i

从文件加载而非STDIN

--quiet,-q

false

静默加载

例1:

docker load < busybox.tar.gz
docker load --input fedora.tar

构建镜像[重要]

通过Dockerfile构建镜像。

命令格式:

docker build [OPTIONS] PATH | URL | -

参数:

Name, shorthand

Default

Description

--add-host

添加自定义从host到IP的映射,格式为(host:ip)

--build-arg

设置构建时的变量

--cache-from

作为缓存源的镜像

--cgroup-parent

容器可选的父cgroup

--compress

false

使用gzip压缩构建上下文

--cpu-period

0

限制CPU CFS (Completely Fair Scheduler) 周期

--cpu-quota

0

限制CPU CFS (Completely Fair Scheduler) 配额

--cpu-shares,-c

0

CPU使用权重(相对权重)

--cpuset-cpus

指定允许执行的CPU

--cpuset-mems

指定允许执行的内存

--disable-content-trust

true

忽略校验

--file,-f

指定Dockerfile的名称,默认是‘PATH/Dockerfile’

--force-rm

false

删除中间容器

--iidfile

将镜像ID写到文件中

--isolation

容器隔离技术

--label

设置镜像使用的元数据

--memory,-m

0

设置内存限制

--memory-swap

0

设置Swap的最大值为内存+swap,如果设置为-1表示不限swap

--network

default

在构建期间设置RUN指令的网络模式

--no-cache

false

构建镜像过程中不使用缓存

--pull

false

总是尝试去更新镜像的新版本

--quiet,-q

false

静默模式,构建成功后只输出镜像ID

--rm

true

构建成功后立即删除中间容器

--security-opt

安全选项

--shm-size

0

指定 /dev/shm 目录的大小

--squash

false

将构建的层压缩成一个新的层

--tag,-t

设置标签,格式:name:tag,tag可选

--target

设置构建时的目标构建阶段

--ulimit

Ulimit 选项

拓展阅读

Docker命令:https://docs.docker.com/engine/reference/commandline/docker/

原文发布于微信公众号 - A周立SpringCloud(gh_e6849e368b5f)

原文发表时间:2018-03-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏python3

Docker安装

安装之前,我们首先确保自己的linux系统内核版本高于3.10,并且系统是64位,才能体验Docker。所以我用的是Centos7.3

3822
来自专栏散尽浮华

Docker容器学习梳理--日常操作总结

使用Docker已有一段时间了,今天正好有空梳理下自己平时操作Docker时的一些命令和注意细节: Docker 命令帮助 $ sudo docker Com...

4725
来自专栏同步博客

Docker之常用命令(二)

651
来自专栏dalaoyang

docker部署springboot项目

1764
来自专栏北京马哥教育

docker容器技术系列二:docker容器初体验

一、docker容器安装 1.1 RedHat/CentOS下的docker安装: RedHat/CentOS必须要6.6版本以上,或者7.x才能安装dock...

3658
来自专栏云计算

如何为容器部署安装Docker和Pull图像

这些步骤使用官方Ubuntu代码存储库安装Docker Community Edition(CE)。要在其他发行版上安装,请参阅官方安装页面。

1953
来自专栏搜云库

Ubuntu 17.04 x64 安装 Docker CE 初窥 Dockerfile 部署 Nginx

Docker 是个划时代的开源项目,它彻底释放了计算虚拟化的威力,极大提高了应用的运行效率,降低了云计算资源供应的成本!使用 Docker,可以让应用的部署、测...

2405
来自专栏编程坑太多

『中级篇』Dockerfile实战(19)

1686
来自专栏zhisheng

Docker 入门(二):从实例来看 Dockerfile 和 Compose

上一文中提到,每次对容器做了改动,如果不把它 commit 成新的镜像,在删除容器后,数据也会丢失,有没有什么更好的办法来保存数据呢?使用数据卷就可以解决这个问...

3915
来自专栏友弟技术工作室

docker学习之使用镜像

原文在此 ? 获取镜像 之前提到过,Docker Hub 上有大量的高质量的镜像可以用,这里我们就说一下怎么获取这些镜像并运行。 从 Docker Regist...

4117

扫码关注云+社区

领取腾讯云代金券