(六)另外的15个Docker命令

最后更新于:2022-04-01 23:05:04

# Docker入门教程(六)另外的15个Docker命令 > 【编者的话】DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第六篇,继续介绍Docker命令。之前的第二篇文章中我们就介绍了一些基本的Docker命令,本文过后,你将会接触到所有的Docker常用命令。努力学习吧。 在[之前的文章](http://dockerone.com/article/102)中,我们介绍了15个Docker命令,并分享了它们的实践经验。在这篇文章中,我们将学习另外的15个Docker命令。它们分别是: daemon: Docker daemon是一个用于管理容器的后台进程。一般情况下,守护进程是一个长期运行的用来处理请求的进程服务。`-d`参数用于运行后台进程。 build: 如之前所讨论的,可以使用Dockerfile来构建镜像。简单的构建命令如下: `docker build [options] PATH | URL` 还有一些Docker提供的额外选项,如: `--rm=true`表示构建成功后,移除所有中间容器 `--no-cache=false`表示在构建过程中不使用缓存 下面是一张使用`Docker build`命令的截图。 ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/8f96ede1922c7d4401debcc23cfaf3de_591x469.png) attach: Docker允许使用`attach`命令与运行中的容器交互,并且可以随时观察容器內进程的运行状况。退出容器可以通过两种方式来完成: * Ctrl+C 直接退出 * Ctrl-\ 退出并显示堆栈信息(stack trace) `attach`命令的语法是: `docker attach container` 下面是一张显示执行`attach`命令的截图。 ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/e101caf08c07c9d0dc82f4e652c5ce3c_975x362.png) diff: Docker提供了一个非常强大的命令`diff`,它可以列出容器内发生变化的文件和目录。这些变化包括添加(A-add)、删除(D-delete)、修改(C-change)。该命令便于Debug,并支持快速的共享环境。 语法是: `docker diff container` 截图显示`diff`的执行。 ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/d2bdb8dd16c96b98d98737ebd97432df_916x272.png) events: 打印指定时间内的容器的实时系统事件。 import: Docker可以导入远程文件、本地文件和目录。使用HTTP的URL从远程位置导入,而本地文件或目录的导入需要使用`-`参数。从远程位置导入的语法是: `docker import http://example.com/example.tar` 截图表示本地文件: ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/8c00b1e86c09d3bf2d31d460adcfd204_783x194.png) export: 类似于`import`,`export`命令用于将容器的系统文件打包成tar文件。 下图描述了其执行过程: ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2974f6a4137761d1485ad8bcbbb849e0_1298x237.png) cp: 这个命令是从容器内复制文件到指定的路径上。语法如下: `docker cp container:path hostpath.` 截图展示了`cp`命令的执行。 ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/10950e66bcf03f86a0d7893d11ce88d5_899x191.png) login: 此命令用来登录到Docker registry服务器,语法如下: `docker login [options] [server]` 如要登录自己主机的registry请使用: `docker login localhost:8080` ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/de2ef9915360d7f32f122517b24c7db8_759x229.png) inspect: `Docker inspect`命令可以收集有关容器和镜像的底层信息。这些信息包括: * 容器实例的IP地址 * 端口绑定列表 * 特定端口映射的搜索 * 收集配置的详细信息 该命令的语法是: `docker inspect container/image` ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/1e033817889596d8930f7b4386ec6526_1298x174.png) kill: 发送`SIGKILL`信号来停止容器的主进程。语法是: `docker kill [options] container` ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/23966c42b35d6494396e83cc54ec7bb9_1260x241.png) rmi: 该命令可以移除一个或者多个镜像,语法如下: `docker rmi image` 镜像可以有多个标签链接到它。在删除镜像时,你应该确保删除所有相关的标签以避免错误。下图显示了该命令的示例。 ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/6878294968f1770cc76454add4f8aeca_909x203.png) wait: 阻塞对指定容器的其它调用方法,直到容器停止后退出阻塞。 ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/4e859774019718a29e5e2e5d439f8788_602x100.png) load: 该命令从tar文件中载入镜像或仓库到`STDIN`。 截图显示载入`app_box.tar`到`STDIN`: ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/10950e66bcf03f86a0d7893d11ce88d5_899x191.png) save: 类似于`load`,该命令保存镜像为tar文件并发送到`STDOUT`。语法如下: `docker save image` 简单截图示例如下: ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/021f856cd34c03388edf213ce083ac11_949x208.png) [Docker系列教程的下一篇文章](http://dockerone.com/article/107)我们将探讨Docker APIs。 > 出处:http://dockone.io/article/106 > 原文链接:[Part 6: The Next 15 Commands](http://flux7.com/blogs/docker/docker-commands/)(翻译:[田浩浩](https://github.com/llitfkitfk) 审校:李颖杰)
';