Docker | 学习系列 (四)Docker镜像常用命令使用教程
2018-04-04 11:21
1716 查看
我们首先来讨论Docker镜像的常用命令。
命令格式:
参数:
示例1:
执行该命令后,Docker就会在Docker Hub中搜索含有“java”这个关键词的镜像仓库。执行该命令后,可看到类似于如下的表格:
该表格包含五列,含义如下:
① NAME:镜像仓库名称。
② DESCRIPTION:镜像仓库描述。
③ STARS:镜像仓库收藏数,表示该镜像仓库的受欢迎程度,类似于GitHub的Stars。
④ OFFICAL:表示是否为官方仓库,该列标记为[OK]的镜像均由各软件的官方项目组创建和维护。由结果可知,java这个镜像仓库是官方仓库,而其他的仓库都不是镜像仓库。
⑤ AUTOMATED:表示是否是自动构建的镜像仓库。
示例2:
命令格式:
参数:
示例1:
执行该命令后,Docker会从Docker Hub中的java仓库下载最新版本的Java镜像。
示例2:
该命令还可指定想要下载的镜像标签以及Docker Registry地址,例如:
这样就可以从指定的Docker Registry中下载标签为7的Java镜像。
执行该命令后,将会看到类似于如下的表格:
该表格包含了5列,含义如下:
① REPOSITORY:镜像所属仓库名称。
② TAG:镜像标签。默认是latest,表示最新。
③ IMAGE ID:镜像ID,表示镜像唯一标识。
④ CREATED:镜像创建时间。
⑤ SIZE:镜像大小。
命令格式:
参数:
示例:
命令格式:
参数:
例1:删除指定名称的镜像。
表示删除hello-world这个镜像。
例2:删除所有镜像。
-f参数表示强制删除。
命令格式:
参数:
例1:
命令格式:
参数:
例1:
命令格式:
参数:
拓展阅读
Docker命令:https://docs.docker.com/engine/reference/commandline/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不低于该数值的结果 |
docker search 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, shorthand | Default | Description |
---|---|---|
--all-tags, -a | false | 下载所有标签的镜像 |
--disable-content-trust | true | 忽略镜像的校验 |
docker pull java |
示例2:
该命令还可指定想要下载的镜像标签以及Docker Registry地址,例如:
docker pull reg.itmuch.com/java:7 |
列出镜像[重要]
使用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 |
① 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 imagesdocker images javadocker images java:8docker images --digestsdocker images --filter "dangling=true" # 展示虚悬镜像 |
删除本地镜像[重要]
使用docker rmi命令即可删除指定镜像。
命令格式:
docker rmi [OPTIONS] IMAGE [IMAGE...] |
Name, shorthand | Default | Description |
---|---|---|
--force, -f | false | 强制删除 |
--no-prune | false | 不移除该镜像的过程镜像,默认移除 |
docker rmi hello-world |
例2:删除所有镜像。
docker rmi -f $(docker images) |
保存镜像
使用docker save即可保存镜像。
命令格式:
docker save [OPTIONS] IMAGE [IMAGE...] |
Name, shorthand | Default | Description |
---|---|---|
--output, -o | Write to a file, instead of STDOUT |
docker save busybox > busybox.tardocker save --output busybox.tar busybox |
加载镜像
使用docer load命令即可加载镜像。
命令格式:
docker load [OPTIONS] |
Name, shorthand | Default | Description |
---|---|---|
--input, -i | 从文件加载而非STDIN | |
--quiet, -q | false | 静默加载 |
docker load < busybox.tar.gzdocker 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 |
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/
相关文章推荐
- Docker系列教程04-Docker镜像常用命令
- DOCKER学习之(一) 镜像部分常用命令
- Docker学习笔记二:Docker常用命令及提升拉取镜像的速度
- Docker系列教程10-使用Docker Registry管理镜像
- Docker系列教程09-使用Docker Hub管理镜像
- Docker系列教程05-容器常用命令
- docker学习笔记3—使用Dockerfile与docker build命令创建一个nginx服务器镜像,并使用浏览器进行访问
- Docker安装教程Centos7和Docker基础使用常用命令
- Docker系列教程23-docker-compose常用命令
- 学习Docker之Docker、容器和镜像的简介和常用命令
- Docker系列教程11-使用Nexus管理Docker镜像
- Docker系列教程12-使用Maven插件构建Docker镜像
- docker 使用教程(2)常用命令
- docker 系列 - 基础镜像环境和Docker常用命令整理
- docker学习系列(二):使用Dockerfile创建自己的镜像
- Git 使用教程(4)—— Git 常用命令集合
- 如何使用 docker 及常用命令(一)
- Github使用教程(二)-- Git常用命令
- [Perforce系列—] 1. 使用Perforce 命令 与常用命令