您的位置:首页 > 运维架构 > Docker

Docker | 学习系列 (四)Docker镜像常用命令使用教程

2018-04-04 11:21 1716 查看
我们首先来讨论Docker镜像的常用命令。

搜索镜像

可使用
docker search
命令搜索存放在Docker Hub中的镜像。
命令格式:
docker search [OPTIONS] TERM
参数:
Name, shorthandDefaultDescription
--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   AUTOMATEDjava                    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, shorthandDefaultDescription
--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             SIZEjava                latest              861e95c114d6        4 weeks ago         643.1 MBhello-world         latest              c54a2cc56cbb        5 months ago        1.848 kB
该表格包含了5列,含义如下:
① REPOSITORY:镜像所属仓库名称。
② TAG:镜像标签。默认是latest,表示最新。
③ IMAGE ID:镜像ID,表示镜像唯一标识。
④ CREATED:镜像创建时间。
⑤ SIZE:镜像大小。
命令格式:
docker images [OPTIONS] [REPOSITORY[:TAG]]
参数:
Name, shorthandDefaultDescription
--all, -a
false
列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层)
--digests
false
显示摘要信息
--filter, -f
 显示满足条件的镜像
--format
 通过Go语言模板文件展示镜像
--no-trunc
false
不截断输出,显示完整的镜像信息
--quiet, -q
false
只显示镜像ID
示例:
docker imagesdocker images javadocker images java:8docker images --digestsdocker images --filter "dangling=true"   # 展示虚悬镜像

删除本地镜像[重要]

使用
docker rmi
命令即可删除指定镜像。
命令格式:
docker rmi [OPTIONS] IMAGE [IMAGE...]
参数:
Name, shorthandDefaultDescription
--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, shorthandDefaultDescription
--output, -o
 Write to a file, instead of STDOUT
例1:
docker save busybox > busybox.tardocker save --output busybox.tar busybox

加载镜像

使用
docer load
命令即可加载镜像。
命令格式:
docker load [OPTIONS]
参数:
Name, shorthandDefaultDescription
--input, -i
 从文件加载而非STDIN
--quiet, -q
false
静默加载
例1:
docker load < busybox.tar.gzdocker load --input fedora.tar

构建镜像[重要]

通过Dockerfile构建镜像。
命令格式:
docker build [OPTIONS] PATH | URL | -
参数:
<
e3fe
td>
--network
Name, shorthandDefaultDescription
--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
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/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: