容器是Docker的三大核心之一。
Docker容器类似于一个轻量级沙箱,Docker利用容器来运行和隔离应用。
容器是从镜像创建的应用运行实例,可以将其启动、开始、停止、删除,而这些容器都是相互隔离、互不可见的。
可以把容器看做精简版的Linux系统环境,其包含了root用户权限、进程空间、用户空间和网络空间等。
镜像自身是只读的,容器从镜像启动时,Docker会在镜像的最上层创建一个可写层,镜像本身将保持不变。
docker ps 语法
语法:docker ps [OPTIONS]
参数:
参数名 | 参数描述 |
–all, -a | 显示所有的容器,包括未运行的 |
–filter, -f | 根据条件过滤显示的内容 |
–format: | 指定返回值的模板文件 |
–last, -l | 显示最近创建的容器 |
–latest, -n | 列出最近创建的n个容器 |
–no-trunc | 不截断输出 |
–quiet, -q | 静默模式,只显示容器编号 |
–size, -s | 显示总的文件大小 |
语义:根据指定参数显示容器列表。
docker ps -a 示例
列表项说明:
列名 | 列描述 |
CONTAINER ID | 容器ID |
IMAGE | 容器使用的镜像 |
COMMAND | 启动容器时运行的命令 |
CREATED | 容器的创建时间 |
STATUS | 容器状态(共七种:created(已创建)、restarting(重启中)、running(运行中)、removing(迁移中)、paused(暂停)、exited(停止)、dead(死亡)) |
PORTS | 容器的端口信息和使用的连接类型 |
NAMES | 自动分配或指定的容器名称 |
docker ps -f 示例
-f 可用参数说明:
过滤条件 | 过滤条件描述 |
id | 容器ID |
name | 容器名称 |
label | 表示键或键值对的任意字符串 |
exited | 容器退出的整数代码,仅与–all, -a一起使用 |
status | 容器状态:created、restarting、running、removing、paused、exited、dead |
ancestor | 给定镜像作为祖先共享的容器,[:]、、image@digest |
bofore/since | 在给定容器ID或名称之前或之后创建的容器 |
volume | 筛选器运行已装入给定卷或绑定装入的容器 |
network | 运行连接到给定网络的容器 |
publish/expose | 发布或公开筛选器的给定端口,[/]、/[] |
health | 容器的运行状况检查状态:starting、healthy、unhealthy、none |
isolation | 仅限Window守护进程 |
is-task | 过滤作为服务"task"的容器,布尔选项(true或false) |
条件规则:
1.-f后跟的是键值对key=value,如果有多个条件,就多次使用-f:
docker ps -f id=5b6 -f name=nginx
2.相同条件之间关系是或,不同条年之间关系是与:
docker ps -f id=5b6 -f id=5re -f name=nginx
3.id和name支持模糊匹配和正则表达式:
docker ps -f name=.*nx.*
docker ps --format 示例
--format参数可以用来规范输出的容器列表内容格式,一般在使用工具进行维护时,是非常有用的。
--format 可用参数说明:
替换参数 | 替换参数描述 |
.ID | 容器ID |
.Image | 镜像ID |
.Command | 应用命令 |
.CreatedAt | 容器的创建时间 |
.RunningFor | 容器已运行时间 |
.Ports | 开放的端口 |
.Status | 容器状态 |
.Size | 容器磁盘大小 |
.Names | 容器名称 |
.Labels | 分配给容器的所有标签 |
.Label | 此容器的特定标签的值,如:’{{.Label “com.docker.swarm.cpu”}}’ |
.Mounts | 此容器中装入的卷的名称 |
.Networks | 附加到此容器的网络的名称 |
docker ps -l 示例
docker ps -n 示例
-n紧跟的参数表示需要查看的容器的数量。
docker ps --no-trunc 示例
docker ps -s 示例
总结
对于Docker应用来说,掌握本文中的命令是最基本的,需要在实际工作中多多应用才是。
若文中存在错误和不足,欢迎指正!