Docker入门与实战——Docker命令查询

Docker命令查询

1、基本语法

Docker命令有两大类:客户端命令和服务端命令,前者是主要的操作接口,后者用来启动Docker服务。

  • 客户端命令:基本命令格式为docker [OPTIONS] COMMAND [ARG...]​。
  • 服务端命令:基本命令格式为dockerd [OPTIONS]​。

可以通过man docker或docker help来查看这些命令,通过man docker-COMMAND或docker help COMMAND来查看这些命令的具体用法和支持的参数。

2、客户端命令

2.1、命令选项

客户端命令负责操作接口,支持如下命令选项:

  • -config="":指定客户端配置文件,默认为~/.docker。
  • -context,-c:指定连接到服务进程时要使用的上下文名称(覆盖DOCKER_HOST环境变量和使用dockercontext use命令设置的默认上下文)。
  • -D,-debug:是否使用debug模式。默认不开启。
  • -H,-host=[​]​:指定命令对应Docker daemon的监听接口,可以为UNIX套接字(unix:///path/to/socket)、文件句柄(fd://socketfd)或TCP套接字(tcp://host\[:port]),默认为unix:///var/run/docker.sock。
  • -l,-log-level "debug|info|warn|error|fatal":指定日志输出级别,默认为info。
  • -tls=true|false:是否对Docker服务端启用TLS安全机制,默认为否。
  • -tlscacert=/.docker/ca.pem:指定TLS可信CA的证书文件路径/.docker/ca.pem。
  • -tlscert=/.docker/cert.pem:指定TLS公钥证书文件路径,默认为/.docker/cert.pem。
  • -tlskey=/.docker/key.pem:指定TLS密钥文件路径,默认为/.docker/key.pem。
  • -tlsverify=true|false:启用TLS校验,默认为否。

2.2、客户端管理命令

Docker客户端单独提供了一组管理命令,对某个资源集中进行管理,包括快照、配置、容器、镜像、网络、节点、插件、秘密内容、服务、服务栈、集群、系统、密钥和挂载卷等,如表所示。

2.3、客户端常用命令

除了针对某个资源的管理命令外,Docker也兼容了之前版本的做法,为一些常见操作提供了快捷命令,如表所示。

3、服务端命令选项

对于服务端,dockerd命令负责启动服务端主进程,支持如下命令选项:

  • -add-runtime=[​]​:注册新的OCI兼容的运行时,如dockerd--add-runtime runc=runc--add-runtimecustom=/usr/local/bin/my-runc。
  • -allow-nondistributable-artifacts=[​]​:允许推送非分发内容到指定的仓库。
  • -api-cors-header="":CORS头部域,默认不支持CORS,要允许任意的跨域访问,可以指定为"*"表示任意内容。
  • -authorization-plugin="":载入指定的认证插件。
  • -b,-bridge="":将容器挂载到一个已存在的网桥上。指定为none时则禁用容器的网络,与-bip选项互斥。
  • -bip="":让动态创建的docker0网桥采用给定的CIDR地址,与-b选项互斥。
  • -cgroup-parent="":指定cgroup的父组,默认fscgroup驱动为/docker,systemd cgroup驱动为system.slice。
  • -cluster-store="":构成集群(如Swarm)时的集群键值数据库服务地址。
  • -cluster-advertise="":构成集群时,自身的被访问地址,可以为host:port或interface:port。
  • -cluster-store-opt="":构成集群时,键值数据库的配置选项。
  • -config-file="/etc/docker/daemon.json":daemon的配置文件路径。
  • -containerd="":containerd文件的路径。
  • -data-root="":指定存放持久化数据的路径,默认为/var/lib/docker。
  • -D,-debug=true|false:是否使用Debug模式,默认为false。
  • -default-gateway="":容器的IPv4网关地址,必须在网桥的子网段内。
  • -default-gateway-v6="":容器的IPv6网关地址。
  • -default-address-pool[=DEFAULT-ADDRESS-POOL]​:默认的地址池。
  • -default-runtime="runc":指定默认的运行时插件,默认为runc。
  • -default-ipc-mode="private|shareable":为新创建的容器指定IPC模式。
  • -default-shm-size=64MiB:配置服务端的shm大小。
  • -default-ulimit=[​]​:默认的ulimit值。
  • -dns="":指定容器使用的DNS服务器地址。
  • -dns-opt="":DNS选项。
  • -dns-search=[​]​:DNS搜索域。
  • -exec-opt=[​]​:运行时的执行选项。
  • -exec-root="":容器执行状态文件的根路径,默认为/var/run/docker。
  • -experimental="":启用Docker实验新特性。
  • -fixed-cidr="":限定分配IPv4地址范围。
  • -fixed-cidr-v6="":限定分配IPv6地址范围。
  • -G,-group="":分配给UNIX套接字的组,默认为docker。
  • -g,-graph="":Docker运行时的根路径,默认为/var/lib/docker。
  • -H,-host=[​]​:指定命令对应daemon的监听接口,可以为UNIX套接字(unix:///path/to/socket)、文件句柄(fd://socketfd)或TCP套接字(tcp://host\[:port]),默认为unix:///var/run/docker.sock。
  • -icc=true|false:是否启用容器间以及与daemon所在主机的通信,默认为true。
  • -init:指定容器启动后的初始化进程,负责信号处理和子进程收割。
  • -init-path:指定docker-init的路径。
  • -insecure-registry=[​]​:允许访问给定的非安全仓库服务。
  • -ip="":绑定容器端口时的默认IP地址,默认为0.0.0.0。
  • -ip-forward=true|false:是否启动宿主机IP转发服务(net.ipv4.ip_forward),默认开启。注意,关闭该选项后将不对宿主机转发进行任何检查或修改。
  • -ip-masq=true|false:是否进行地址伪装,用于容器访问外部网络,默认开启。
  • -iptables=true|false:是否允许Docker添加iptables规则,默认为true。
  • -ipv6=true|false:是否启用IPv6支持,默认关闭。
  • -isolation="default":指定容器隔离的机制。
  • -l,-log-level="debug|info|warn|error|fatal":指定日志输出级别。
  • -label="[​]":添加指定的键值对标注。
  • -live-restore=false:支持运行中的容器在服务端重启后的恢复,默认关闭。
  • -log-driver="json-file|syslog|journald|gelf|fluentd|awslogs|s plunk|etwlogs|gcplogs|none":指定日志后端驱动,默认为json-file。
  • -log-opt=[​]​:日志后端的选项。
  • -mtu=VALUE:指定容器网络的mtu。
  • -max-concurrent-downloads=3:最大并发下载数,默认为3。
  • -max-concurrent-uploads=5:最大并发上传数,默认为3。
  • -max-download-attempts[=5]​:最大的下载重试次数。
  • -node-generic-resources[=[​]​]​:设置节点的通用资源,如GPU、IP地址或端口等。
  • -p,-pidfile="":指定daemon的PID文件路径,默认为/var/run/docker.pid。
  • -raw-logs:输出原始、未加色彩的日志信息。
  • -registry-mirror=://:指定执行docker pull时使用的注册服务器镜像地址。
  • -s,-storage-driver="":指定使用给定的存储后端。
  • -seccomp-profile="":指定seccomp配置文件路径。
  • -selinux-enabled=true|false:启用SELinux支持,默认关闭。
  • -shutdown-timeout=15:服务端关闭的超时,默认为15s。
  • -storage-opt=[​]​:驱动后端选项。
  • -swarm-default-advertise-addr=IP|INTERFACE:Swarm服务广播用的网络地址和接口。
  • -tls=true|false:是否对daemon启用TLS安全机制,默认为否。
  • -tlscacert[=~/.docker/ca.pem]​:TLS CA签名的可信证书文件路径。
  • -tlscert[=~/.docker/cert.pem]​:TLS可信证书文件路径。
  • -tlskey[=~/.docker/key.pem]​:TLS密钥文件路径。
  • -tlsverify=true|false:启用TLS校验,默认为否。
  • -userland-proxy=true|false:是否使用用户态代理来实现容器间和出容器的回环通信,默认为true。
  • -userland-proxy-path="":用户态代理文件路径。
  • -userns-remap=default|uid:gid|user:group|user|uid:指定容器的用户命名空间,默认是创建新的UID和GID映射到容器内的进程。

4、一张图总结Docker命令

相关推荐
handonch1 小时前
金仓 KingbaseES 时区问题根治指南:从「总是差 8 小时」到全链路统一
linux·docker·postgresql·信创
吴声子夜歌2 小时前
Docker入门与实战——常见问题总结
运维·docker·容器
丨晨 丨3 小时前
K8s控制器天团图鉴-五大控制器整活
云原生·容器·kubernetes
马立杰4 小时前
Docker Build 编译补丁版 PHP7.4 FPM 容器镜像教程(CVE-2026-109618 CVE-2026-109619)
运维·docker·容器·php
tedcloud1235 小时前
Docker Compose 部署 Memos:从安装到备份恢复
linux·开发语言·jvm·后端·docker·容器·rust
无人生还别怕5 小时前
如何搭建k8s服务(docker部署)
linux·运维·docker·云原生·容器·kubernetes·openanolisos
*星星之火*6 小时前
【无标题】
docker·gcp·gke
姜鱼问生6 小时前
报数据库连不上?Docker Compose 启动顺序假象:depends_on 不是万能的!
数据库·docker·容器
Vex2une6 小时前
WSL2 Docker开发环境:2026年容器化编程性能调优指南
docker·开发环境·wsl2·容器化开发·virtiofs·dev drive·gpu直通