Linux里面docker service ps web命令作用是什么?

默认显示正在运行的容器。

显示所有的容器,包括未运行的。

根据条件过滤显示的内容。

指定返回值的模板文件。

列出最近创建的n个容器。

静默模式,只显示容器编号。

运行后,终端显示信息如下图所示:

再次使用 docker ps 命令,显示当前正在运行的 docker 容器, 终端显示信息如下图所示:

此时,正在运行的容器列表有刚才运行的容器信息。

显示最近创建的 N 个容器

使用 docker ps 命令,显示当前正在运行的 docker 容器, 终端显示信息如下图所示:

此时,我们看到只显示了最近运行的 3 个 docker 容器,而并非所有的容器。即,在以上案例中,我们使用 docker ps -n 命令,可以显示最近创建的 N 个 docker容器。

使用 docker ps 命令,显示当前正在运行的 docker容器, 终端显示信息如下图所示:

再次使用 docker ps 命令,显示当前正在运行的 docker容器, 终端显示信息如下图所示:

此时,只显示了正在运行的一个 docker 容器,刚被我们停止的两个 docker 容器,并未显示。

我们使用 docker ps -a 命令,显示所有的 docker 容器,包括运行还是未运行的。

此时,显示了我们创建的三个容器,包括一个运行的和两个未运行的。即,在以上案例中,我们使用 docker ps -a 命令,可以显示所有的 docker容器,包括运行的和未运行的。

使用 docker ps 命令,显示当前正在运行的 docker 容器, 终端显示信息如下图所示:

我们使用 docker ps -aq 命令,显示所有的 docker 容器的 ID 信息,包括运行还是未运行的,终端显示如下:

此时,并未显示容器的所有信息,只显示了容器的 ID 信息,此处的 ID 可以配合 docker kill 和 docker rm 等命令,对容器实现批量的管理。

即,在以上案例中,我们使用 docker ps -aq 命令,可以显示所有的 docker 容器的 ID,包括运行的和未运行的。

显示容器 ID 的完整形式

此时,返回结果中的 CONTAINER ID 列显示的是容器的完整 ID。即,在以上案例中,我们使用 docker ps --no-trunc 命令,显示 docker容器 ID 的完整形式,而不是缩略形式。

使用 docker ps -s 命令,可以显示 docker 容器的大小信息,终端显示信息如下图所示:

此时,返回结果中多了一列 SIZE,SIZE 有两个值,一个是容器真实增加的大小,一个是整个容器的虚拟大小。容器虚拟大小 = 容器真实增加大小 + 容器镜像大小。

即,在以上案例中,我们使用 docker ps -s 命令,可以显示 docker容器大小信息。

如果容器数量过多,或者想排除干扰容器,可以通过 docker ps --filter 或 docker ps -f ,过滤需要显示的容器。

选项后跟的都是键值对 key=value (可不带引号),如果有多个过滤条件,就多次使用 filter 选项。例如:

相同条件之间的关系是或,不同条件之间的关系是与关系。例如:

id 和 name,支持正则表达式,使用起来非常灵活。例如:

如果想自定义显示容器字段,可以用格式化选项 --format ,具体参考 docker 格式化。

容器 ID 的意思,可以通过这 id 找到唯一的对应容器。

启动容器时运行的命令。

容器的创建时间,显示格式为 ”**时间之前创建“。

容器的端口信息和使用的连接类型(tcp\udp)。

镜像自动为容器创建的名字,也唯一代表一个容器。

docker ps 命令可以用来列出容器相关信息。

 阿里专属的镜像加速

初始命令表示一旦容器启动,需要运行的命令,此时使用“/bin/bash”,表示什么也不做,只需进入命令行即可。

为了搭建 Java Web 运行环境,我们需要安装 JDK 与 Tomcat,下面的过程均在容器内部进行。我们不妨选择/opt/目录作为安装目录,首先需要通过cd /opt/命令进入该目录。

记住以上CONTAINER ID(容器 ID),随后我们将通过该容器,创建一个可运行 Java Web 的镜像。

使用以下命令,根据某个“容器 ID”来创建一个新的“镜像”:

可见,此时已经看到了最新创建的镜像“huangyong/javaweb:0.1”,其镜像 ID 是“fc826a4706af”。正如上面所描述的那样,我们可以通过“镜像名”或“镜像 ID”来启动容器,与上次启动容器不同的是,我们现在不再进入容器的命令行,而是直接启动容器内部的 Tomcat 服务。此时,需要使用以下命令:

  • -d:表示以“守护模式”执行/root/run.sh脚本,此时 Tomcat 控制台不会出现在输出终端上。
  • -p:表示宿主机与容器的端口映射,此时将容器内部的 8080 端口映射为宿主机的 58080 端口,这样就向外界暴露了 58080 端口,可通过 Docker 网桥来访问容器内部的 8080 端口了。
  • --name:表示容器名称,用一个有意义的名称命名即可。

关于 Docker 网桥的内容,需要补充说明一下。实际上 Docker 在宿主机与容器之间,搭建了一座网络通信的桥梁,我们可通过宿主机 IP 地址与端口号来映射容器内部的 IP 地址与端口号,

在一系列参数后面的是“镜像名”或“镜像 ID”,怎么方便就怎么来。最后是“初始命令”,它是上面编写的运行脚本,里面封装了加载环境变量并启动 Tomcat 服务的命令。

当运行以上命令后,会立即输出一长串“容器 ID”,我们可通过docker ps命令来查看当前正在运行的容器。

在浏览器中,输入以下地址,即可访问 Tomcat 首页:

注意:这里使用的是宿主机的 IP 地址,与对外暴露的端口号 58080,它映射容器内部的端口号 8080。

接下来我们使用该命令进入一个已经在运行的容器

要理解镜像和Docker容器之间的区别,确实不容易。

假设内核是第0层,那么无论怎么运行Docker,它都是运行于内核层之上的。这个Docker镜像,是一个只读的镜像,位于第1层,它不能被修改或不能保存状态。

一个Docker镜像可以构建于另一个Docker镜像之上,这种层叠关系可以是多层的。第1层的镜像层我们称之为基础镜像(Base Image),其他层的镜像(除了最顶层)我们称之为父层镜像(Parent Image)。这些镜像继承了他们的父层镜像的所有属性和设置,并在Dockerfile中添加了自己的配置。

Docker镜像通过镜像ID进行识别。镜像ID是一个64字符的十六进制的字符串。但是当我们运行镜像时,通常我们不会使用镜像ID来引用镜像,而是使用镜像名来引用。要列出本地所有有效的镜像,可以使用命令

镜像可以发布为不同的版本,这种机制我们称之为标签(Tag)。 

如上图所示,neo4j镜像有两个版本:lastest版本和2.1.5版本。

可以使用pull命令加上指定的标签:

Docker容器可以使用命令创建:

它会在所有的镜像层之上增加一个可写层。这个可写层有运行在CPU上的进程,而且有两个不同的状态:运行态(Running)和退出态(Exited)。这就是Docker容器。当我们使用docker run启动容器,Docker容器就进入运行态,当我们停止Docker容器时,它就进入退出态。

当我们有一个正在运行的Docker容器时,从运行态到停止态,我们对它所做的一切变更都会永久地写到容器的文件系统中。要切记,对容器的变更是写入到容器的文件系统的,而不是写入到Docker镜像中的。

我们可以用同一个镜像启动多个Docker容器,这些容器启动后都是活动的,彼此还是相互隔离的。我们对其中一个容器所做的变更只会局限于那个容器本身。

如果对容器的底层镜像进行修改,那么当前正在运行的容器是不受影响的,不会发生自动更新现象。

如果想更新容器到其镜像的新版本,那么必须当心,确保我们是以正确的方式构建了,否则我们可能会导致损失容器中所有数据的后果。

64字符的十六进制的字符串来定义容器ID,它是容器的唯一标识符。容器之间的交互是依靠容器ID识别的,由于容器ID的字符太长,我们通常只需键入容器ID的前4个字符即可。当然,我们还可以使用容器名,但显然用4字符的容器ID更为简便。

如果你还想从头学起 Docker,可以看看这个系列的文章哦!

显示全部容器(默认只显示运行中的容器)
根据提供的 filter 过滤输出
列出最近创建的 n 个容器(默认-1,代表全部)
显示最近创建的容器(包括所有状态的容器)
静默模式,只显示容器 ID
# 显示全部容器,和总文件大小
# 显示最近创建的容器
# 显示最近创建的 2 个容器
# 显示完整的镜像ID
  • IMAGE:使用的镜像
  • COMMAND:启动容器时后,容器运行的命令
  • CREATED:容器的创建时间
  • PORTS:实际运行端口,若有指定运行端口则会显示指定的端口和默认运行端口,以及连接类型( tcp / udp )
  • SIZE:容器全部文件的总大小,也会显示容器大小
  1. 原文地址:/share/detail/ 有时候系统管理员可能只关心现在系统中运行着哪些程序,而不想知道有哪些进程在运行.由于一个应用程序 ...

  2. 有时候系统管理员可能只关心现在系统中运行着哪些程序,而不想知道有哪些进程在运行.由于一个应用程序可能需要启动多个进程.所以在同等情况下,进程的数 量要比程序多的多.为此从阅读方面考虑,管理员需要知道系 ...

  3. Linux操作系统PS命令详细解析 要对系统中进程进行监测控制,用 ps 命令满足你. /bin/ps ps 是显示瞬间行程的状态,并不动态连续:如果想对进程运行时间监控,应该用 top 工具. ki ...

  1. 大家都在讨论怎么使用Core Data,但是什么时候用到Core Data,这好像是大家很少讨论的问题 我们使用Core Data ,主要用来存储两种类型的数据:固定的数据,和 可能变化的数据. 1. ...

  2. 转载本专栏文章,请注明出处,尊重原创 .文章博客地址:道龙的博客 为了提高兴趣,咱们开头先看看最终要实现什么样的效果: 侧拉菜单在Android应用中非常常见,它的实现方式太多了,今天我们就说说使用G ...

  3. jmeter是一个java开发的开源性能测试工具,在性能测试中可支持模拟并发压测,但有时候当模拟并发请求较大或者脚本运行时间较长时,压力机会出现卡顿甚至报异常————内存溢出, 这里就介绍下如何解决内 ...

我要回帖

更多关于 退出docker容器命令 的文章

 

随机推荐