1.3 帮助体系与架构查询:help 命令族词条


1.3 帮助体系与架构查询:help 命令族词条

本节摘要:Docker 自带一套离线可用的帮助体系:docker help 列出全部管理对象与命令,docker 子命令 --help 给出该命令的完整参数表。本节讲解这套体系的结构、命令的两种写法(management 形式与简写形式),以及 CLI 与守护进程的分工如何决定命令行为,为全书词条的自助查证兜底。

壹部前两节解决了"环境可用",本节解决"自助可查"。从贰部开始每条命令都有几十个参数,背是背不完的,本节的词条就是你的查证工具。

命令速览:help 家族三条入口

docker help # 列出全部命令分组 docker 子命令 --help # 单条命令的参数表 docker 管理对象 动词 --help # 管理形式的参数表

使用现场一:docker help 的整体结构

$ docker help Usage: docker [OPTIONS] COMMAND A self-sufficient runtime for containers Commands: attach Attach local standard input, output, and error streams to a running container build Build an image from a Dockerfile commit Create a new image from a container's changes cp Copy files/folders between a container and the local filesystem create Create a new container exec Run a command in a running container images List images info Display system-wide information inspect Return low-level information on Docker objects kill Kill one or more running containers logs Fetch the logs of a container network Manage Docker networks ps List containers pull Pull an image or a repository from a registry rm Remove one or more containers rmi Remove one or more images run Create and run a new container volume Manage Docker volumes ...

这份清单本身就是一张命令地图:单词动词(run、pull、rm)是高频简写,名词(network、volume)是管理对象入口,进入后还有二级动词。字典的目录页,说的就是它。

使用现场二:单条命令的参数表

$ docker run --help Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...] Create and run a new container Options: --name string Assign a name to the container -d, --detach Run the container in the background -e, --env list Set environment variables -i, --interactive Keep STDIN open even if not attached -p, --publish list Publish a container port to the host -t, --tty Allocate a pseudo-TTY -v, --volume list Bind mount a volume --rm Automatically remove the container when it exits --restart string Restart policy to apply when a container exits ...

读参数表有个固定套路:Usage 行告诉你 positional 参数(IMAGE、COMMAND)与可选参数(OPTIONS)怎么排;Options 列表里短选项(-d)与长选项(--detach)等价,list 结尾的选项可以重复出现(多个 -v、多个 -e),string 结尾的选项后面要跟一个值。

使用现场三:管理形式与简写形式

$ docker image ls --help $ docker images --help

两条命令等价。Docker 的命名有两套并存体系:docker images 是历史简写,docker image ls 是"管理对象 + 动词"的管理形式。对应关系是 docker images 等于 docker image lsdocker rmi 等于 docker image rmdocker ps 等于 docker container ls。脚本与文档里建议用管理形式,语义更清楚;日常手敲用简写更快。这本词典两种写法都会出现,词条卡里以简写为主、必要时标注管理形式。

架构查询:命令到底在哪儿执行

理解 help 体系为什么"离线可用",要回到 CLI 与守护进程的分工:帮助文本编译在客户端二进制里,不经过守护进程;而真正干活的命令由 CLI 翻译成接口调用发给守护进程。

$ docker context ls NAME DESCRIPTION DOCKER ENDPOINT default * Current DOCKER_HOST configuration unix:///var/run/docker.sock

context 词条值得单独一提:它记录"客户端连到哪个守护进程"。切了 context,同一台笔记本上的 docker 命令就在另一台远程机器上执行——这在管理多台主机时是利器,在排查"命令为什么没生效"时是陷阱。* 号标出当前 context,出问题先看它。

使用现场四:远程 context 的一次误诊

$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

明明远程机器上跑着服务,本机却列出空表。第一步就是查 context:

$ docker context ls NAME DESCRIPTION DOCKER ENDPOINT default * unix:///var/run/docker.sock remote ssh://ops@10.0.0.21

星号在 default 上——命令问的是本机,自然没有容器。切过去再问:

$ docker context use remote remote $ docker ps CONTAINER ID IMAGE STATUS PORTS NAMES 9f2c41a7b110 nginx:1.25 Up 3 days 0.0.0.0:8080->80/tcp web-gw

容器回来了。这个现场说明:Docker 命令的行为不只取决于命令本身,还取决于"问的是哪台机器"。

本节要点回顾

  • docker help 是命令地图:先扫一遍全体命令,再决定深入哪条。
  • --help 的参数表有读法:Usage 行定结构,list 型选项可重复,string 型选项要跟值。
  • 两种写法并存:简写顺手,管理形式语义清楚,团队脚本建议用后者。
  • 帮助是离线的:文本在客户端里,守护进程挂了也能查参数。
  • context 决定命令作用在哪台机器:结果反直觉时,先 docker context ls 看星号。

壹部到此收束:环境已验证、查证工具已上手。贰部进入词典正题,从第一条真正干活的命令 pull 开始。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U