news 2026/1/14 8:55:20

Docker 常用命令解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Docker 常用命令解析

一、镜像相关命令

1.1 docker search

docker search[OPTIONS]TERM

功能:搜索 Docker Hub 镜像。
常用选项:

  • --filter:过滤条件,如–filter stars=3表示只显示星标不少于3的镜像。
  • --limit:限制搜索结果数量。
  • --no-trunc:不截断输出。

示例:

# 搜索镜像docker search ubuntu# 只显示官方镜像docker search --filter"is-official=true"ubuntu# 显示至少3星的镜像docker search --filter"stars=3"ubuntu# 限制搜索结果数量docker search --limit10ubuntu

1.2 docker pull

docker pull[OPTIONS]NAME[:TAG|@DIGEST]

功能:拉取镜像
常用选项:

  • -a:拉取所有标签的镜像。
  • --platform:指定平台,如linux/amd64。

示例:

# 拉取指定标签镜像docker pull ubuntu:22.04# 拉取最新标签docker pull ubuntu:latest# 拉取所有标签docker pull -a ubuntu# 拉取指定平台的镜像docker pull --platform linux/amd64 ubuntu:22.04# 显示详细信息docker pull ubuntu:22.04 --verbose

1.3 docker images

docker images[OPTIONS][REPOSITORY[:TAG]]

功能:列出本地镜像
常用选项:

  • -a:列出所有镜像(包括中间层镜像)。
  • --digests:显示摘要信息。
  • -q:只显示镜像ID。

示例:

# 列出所有镜像docker images# 按仓库名过滤docker images ubuntu# 只显示镜像IDdocker images -q# 显示所有镜像(包括中间层)docker images -a# 格式化输出docker images --format"table {{.ID}}\t{{.Repository}}\t{{.Tag}}\t{{.Size}}"# 不截断输出docker images --no-trunc

1.4 docker rmi

docker rmi[OPTIONS]IMAGE[IMAGE...]

功能:删除镜像。
常用选项:

  • -f:强制删除。

示例:

# 删除指定镜像docker rmi ubuntu:22.04# 强制删除镜像docker rmi -f ubuntu:22.04# 删除多个镜像docker rmi ubuntu:22.04 nginx:latest# 删除所有镜像docker rmi$(docker images -q)# 删除悬空镜像(无标签)docker rmi$(docker images -f"dangling=true"-q)

1.5 docker build

docker build[OPTIONS]PATH|URL|-

功能:构建镜像。
常用选项:

  • -t:给镜像打标签,格式为name:tag。
  • -f:指定Dockerfile文件路径。
  • --build-arg:设置构建时的变量。
  • --no-cache:构建时不使用缓存。

示例:

# 构建镜像docker build -t myapp:1.0.# 指定Dockerfile路径docker build -f Dockerfile.prod -t myapp:prod.# 使用构建参数docker build --build-argVERSION=2.0-t myapp:2.0.# 不使用缓存docker build --no-cache -t myapp:latest.# 多阶段构建指定目标阶段docker build --target builder -t myapp:builder.# 设置构建上下文docker build -t myapp:1.0 ./path/to/build/context

1.6 docker history

dockerhistory[OPTIONS]IMAGE

功能:查看镜像构建历史。
常用选项:

  • --no-trunc:不截断输出。

示例:

# 查看镜像构建历史dockerhistoryubuntu:22.04# 不截断输出dockerhistoryubuntu:22.04 --no-trunc# 不显示大小dockerhistoryubuntu:22.04 --no-trunc --format"{{.CreatedBy}}"# 显示完整信息dockerhistoryubuntu:22.04 --human=false

1.7 docker tag

docker tag SOURCE_IMAGE[:TAG]TARGET_IMAGE[:TAG]

功能:为镜像打标签。

示例:

# 为镜像添加新标签docker tag ubuntu:22.04 myubuntu:v1# 修改仓库名称docker tag ubuntu:22.04 myregistry.com/ubuntu:prod# 显示帮助docker tag --help

1.8 docker save

docker save[OPTIONS]IMAGE[IMAGE...]

功能:将镜像保存为tar文件。
常用选项:

  • -o:输出到文件。

示例:

# 导出镜像到文件docker save -o ubuntu.tar ubuntu:22.04 docker save ubuntu:22.04>ubuntu.tar# 导出多个镜像docker save -o images.tar ubuntu:22.04 nginx:latest

1.9 docker load

docker load[OPTIONS]

功能:从tar文件导入镜像。
常用选项:

  • -i:从文件导入。
  • -q:静默导入。

示例:

# 导入镜像docker load -i ubuntu.tar docker load<ubuntu.tar# 显示加载过程docker load -i ubuntu.tar --quiet=false

1.10 docker image inspect

docker image inspect[OPTIONS]NAME|ID[NAME|ID...]

功能:查看镜像详细信息。
常用选项:

  • --format:格式化输出,如–format={{.Id}}’

示例:

# 查看镜像详细信息docker image inspect ubuntu:22.04# 格式化输出docker image inspect ubuntu:22.04 --format='{{.Id}}'# 查看镜像大小docker image inspect ubuntu:22.04 --format='{{.Size}}'# 查看镜像创建时间docker image inspect ubuntu:22.04 --format='{{.Created}}'# 查看镜像配置docker image inspect ubuntu:22.04 --format='{{json .Config}}'

二、容器相关命令

2.1 docker run

docker run[OPTIONS]IMAGE[COMMAND][ARG...]

功能:创建并运行容器。
常用选项:

  • -d:后台运行。
  • -it:交互式运行(分配伪终端)。
  • --name:指定容器名称。
  • --rm:容器退出时自动删除。
  • -p:端口映射,格式为主机端口:容器端口。
  • -v:挂载数据卷,格式为主机目录:容器目录。
  • -e:设置环境变量。
  • --network:指定网络。
  • --restart:重启策略,如–restart=always。

示例:

# 基本运行docker run ubuntu:22.04echo"Hello Docker"# 后台运行docker run -d --name mynginx nginx# 交互式运行docker run -it ubuntu:22.04bash# 运行后自动删除docker run --rm ubuntu:22.04date# 端口映射docker run -d -p80:80 nginx docker run -d -p8080:80 nginx docker run -d -p0.0.0.0:80:80 nginx docker run -d -p80:80/tcp -p80:80/udp nginx# 数据卷挂载docker run -v /host/path:/container/path ubuntu docker run --mounttype=bind,source=/host/path,target=/container/path ubuntu docker run -v myvolume:/data ubuntu# 环境变量docker run -eMY_ENV=value ubuntu docker run --env-file .env ubuntu# 网络配置docker run --network=bridge ubuntu docker run --network=host ubuntu docker run --network=none ubuntu# 资源限制docker run --memory="1g"--cpus="0.5"ubuntu docker run --memory-swap="2g"ubuntu# 重启策略docker run --restart=always nginx docker run --restart=on-failure:5 nginx docker run --restart=unless-stopped nginx# 用户和权限docker run --user="1000:1000"ubuntu docker run --cap-add=NET_ADMIN ubuntu docker run --cap-drop=ALL ubuntu# 其他选项docker run --read-only ubuntu# 只读文件系统docker run --tmpfs /tmp ubuntu# tmpfs挂载

2.2 docker create

docker create[OPTIONS]IMAGE[COMMAND][ARG...]

功能:创建容器但不启动。
常用选项:

  • -d:后台运行。
  • -it:交互式运行(分配伪终端)。
  • --name:指定容器名称。
  • --rm:容器退出时自动删除。
  • -p:端口映射,格式为主机端口:容器端口。
  • -v:挂载数据卷,格式为主机目录:容器目录。
  • -e:设置环境变量。
  • --network:指定网络。
  • --restart:重启策略,如–restart=always。

示例:

# 创建容器docker create --name mycontainer nginx# 创建容器并配置docker create\--name myapp\-p80:80\-v /data:/app/data\nginx:latest# 查看创建的容器dockerps-a

2.3 docker ps

dockerps[OPTIONS]

功能:列出容器。
常用选项:

  • -a:列出所有容器(默认只显示运行中的)。
  • -q:只显示容器ID。
  • --filter:过滤条件,如–filter “status=exited”。

示例:

# 列出运行中的容器dockerps# 列出所有容器(包括已停止的)dockerps-a# 只显示容器IDdockerps-q# 显示最近创建的容器dockerps-l# 显示n个最近创建的容器dockerps-n3# 按特定条件过滤dockerps--filter"name=my"dockerps--filter"status=running"dockerps--filter"status=exited"dockerps--filter"ancestor=ubuntu"dockerps--filter"label=version=1.0"dockerps--filter"before=container_name"dockerps--filter"since=container_name"# 不截断输出dockerps--no-trunc# 格式化输出dockerps--format"table {{.ID}}\t{{.Names}}\t{{.Status}}\t{{.Ports}}"dockerps--format"{{.Names}}: {{.Command}}"# 显示容器大小dockerps-s

2.4 docker start / docker stop / docker restart

docker start[OPTIONS]CONTAINER[CONTAINER...]docker stop[OPTIONS]CONTAINER[CONTAINER...]docker restart[OPTIONS]CONTAINER[CONTAINER...]

功能:启动、停止、重启容器。
常用选项:

  • -t:设置停止或重启的超时时间(秒)。

示例:

# 启动容器docker start mycontainer# 启动容器并附加到终端docker start -a mycontainer# 启动容器并交互式运行docker start -i mycontainer# 启动多个容器docker start container1 container2# 停止容器docker stop mycontainer# 停止多个容器docker stop container1 container2# 强制停止(发送SIGKILL)docker stop -t0mycontainer# 立即停止dockerkillmycontainer# 强制终止# 设置停止超时时间(默认10秒)docker stop -t30mycontainer# 重启容器docker restart mycontainer# 重启多个容器docker restart container1 container2# 设置重启超时时间docker restart -t30mycontainer

2.5 docker pause / docker unpause

docker pause CONTAINER[CONTAINER...]docker unpause CONTAINER[CONTAINER...]

功能:暂停和恢复容器。

示例:

# 暂停容器docker pause mycontainer# 恢复容器docker unpause mycontainer# 查看容器状态dockerps|grepmycontainer

2.6 docker rm

dockerrm[OPTIONS]CONTAINER[CONTAINER...]

功能:删除一个或多个容器。
常用选项:

  • -f:强制删除(正在运行的容器)。
  • -v:同时删除容器关联的数据卷。

示例:

# 删除已停止的容器dockerrmmycontainer# 强制删除运行中的容器dockerrm-f mycontainer# 删除容器及其关联的数据卷dockerrm-v mycontainer# 删除所有已停止的容器dockerrm$(dockerps-a -q)# 删除指定状态的容器dockerrm$(dockerps-a -fstatus=exited -q)

2.7 docker rename

dockerrenameCONTAINER NEW_NAME

功能:重命名容器。

示例:

# 重命名容器dockerrenameold_name new_name

2.8 docker update

docker update[OPTIONS]CONTAINER[CONTAINER...]

功能:更新容器配置。
常用选项:

  • --memory:内存限制。
  • --cpus:CPU数量。

示例:

# 更新内存限制docker update --memory="512m"mycontainer# 更新CPU限制docker update --cpus="1.0"mycontainer# 更新重启策略docker update --restart=always mycontainer# 更新多个配置docker update\--memory="1g"\--memory-swap="2g"\--cpus="2.0"\mycontainer

2.9 docker exec

dockerexec[OPTIONS]CONTAINER COMMAND[ARG...]

功能:在运行中的容器内执行命令。
常用选项:

  • -it:交互式执行。
  • -d:后台执行。

示例:

# 在容器内执行命令dockerexecmycontainerls/# 交互式执行(分配伪终端)dockerexec-it mycontainerbash# 以后台模式执行dockerexec-d mycontainertouch/tmp/test.txt# 以特定用户执行dockerexec-u root mycontainerwhoami# 设置工作目录dockerexec-w /app mycontainerpwd# 设置环境变量dockerexec-eMY_VAR=value mycontainerenv# 保留标准输入打开dockerexec-i mycontainercat>file.txt# 分配伪终端dockerexec-t mycontainertop

2.10 docker logs

docker logs[OPTIONS]CONTAINER

功能:查看容器日志。
常用选项:

  • -f:实时跟踪日志。
  • --tail:显示最后多少行,如–tail 100。
  • -t:显示时间戳。

示例:

# 查看容器日志docker logs mycontainer# 实时查看日志docker logs -f mycontainer# 查看最后N行日志docker logs --tail100mycontainer# 查看特定时间后的日志docker logs --since="2024-01-01"mycontainer docker logs --since="10m"mycontainer# 10分钟前docker logs --since="1h"mycontainer# 1小时前# 查看时间戳docker logs -t mycontainer# 查看标准错误docker logs mycontainer>stdout.log2>stderr.log# 查看容器内进程的日志docker logs --details mycontainer

2.11 docker top

dockertopCONTAINER[ps OPTIONS]

功能:查看容器内进程。

示例:

# 查看容器内进程dockertopmycontainer# 显示完整命令行dockertopmycontainer -ef# 自定义格式dockertopmycontainer -o pid,pcpu,pmem,comm

2.12 docker stats

docker stats[OPTIONS][CONTAINER...]

功能:查看容器资源使用统计。
常用选项:

  • -s:显示所有容器(默认只显示运行中的)。
  • --no-stream:只显示当前状态,不持续输出。

示例:

# 查看所有容器资源使用docker stats# 查看指定容器docker stats mycontainer1 mycontainer2# 单次统计(不持续)docker stats --no-stream# 格式化输出docker stats --format"table {{.Container}}\t{{.CPUPerc}}\t{{.MemUsage}}"# 查看所有容器(包括已停止的)docker stats -a# 显示完整的容器IDdocker stats --no-trunc

2.13 docker inspect

docker inspect[OPTIONS]NAME|ID[NAME|ID...]

功能:查看容器或镜像的详细信息。
常用选项:

  • --format:格式化输出,如–format=‘{{.NetworkSettings.IPAddress}}’。

示例:

# 查看容器详细信息docker inspect mycontainer# 查看镜像详细信息docker inspect ubuntu:22.04# 查看特定信息docker inspect --format='{{.NetworkSettings.IPAddress}}'mycontainer docker inspect --format='{{.State.Status}}'mycontainer docker inspect --format='{{.Config.Image}}'mycontainer# 查看网络信息docker inspect --format='{{json .NetworkSettings.Networks}}'mycontainer# 查看挂载信息docker inspect --format='{{json .Mounts}}'mycontainer# 查看容器大小docker inspect --format='{{.SizeRw}}'mycontainer docker inspect --format='{{.SizeRootFs}}'mycontainer# 查看环境变量docker inspect --format='{{json .Config.Env}}'mycontainer# 以JSON格式输出docker inspect mycontainer|jq .[0]

2.14 docker cp

dockercp[OPTIONS]CONTAINER:SRC_PATH DEST_PATH|- dockercp[OPTIONS]SRC_PATH|- CONTAINER:DEST_PATH

功能:在容器和主机间复制文件。

示例:

# 从容器复制到主机# 从容器复制到主机dockercpmycontainer:/etc/nginx/nginx.conf ./nginx.conf# 从主机复制到容器dockercp./app.py mycontainer:/app/app.py# 复制目录dockercpmycontainer:/app/logs ./logs/# 保留文件权限dockercp-a mycontainer:/etc/passwd ./# 从标准输入复制到容器echo"Hello"|dockercp- mycontainer:/tmp/hello.txt# 从容器复制到标准输出dockercpmycontainer:/tmp/output.txt -

2.15 docker commit

docker commit[OPTIONS]CONTAINER[REPOSITORY[:TAG]]

功能:从容器创建新镜像。
常用选项:

  • -a:提交的镜像作者。
  • -c:使用 Dockerfile 指令来创建镜像。
  • -m:提交时的说明文字。
  • -p:提交镜像前暂停容器(默认为 true)。

示例:

# 创建新镜像docker commit mycontainer myimage:v1# 添加作者信息docker commit --author="John Doe"mycontainer myimage:v1# 添加提交信息docker commit --message="Added nginx config"mycontainer myimage:v1# 暂停容器后再提交docker commit --pause=true mycontainer myimage:v1

三、网络相关命令

3.1 docker network ls

docker networkls[OPTIONS]

作用:列出所有网络。
常用选项:

  • -q:只显示网络ID。

示例:

docker networkls

3.2 docker network create

docker network create[OPTIONS]NETWORK

作用:创建网络。
常用选项:

  • -d:指定驱动(bridge、overlay等)。
  • --subnet:指定子网。
  • --gateway:指定网关。

示例:

# 创建网络docker network create mynetwork docker network create --driver bridge mybridge docker network create --subnet=172.20.0.0/16 --gateway=172.20.0.1 mynetwork

3.3 docker network inspect

docker network inspect[OPTIONS]NETWORK[NETWORK...]

作用:查看网络的详细信息。

示例:

# 查看网络详情docker network inspect mynetwork

3.4 docker network connect / docker network disconnect

docker network connect[OPTIONS]NETWORK CONTAINER docker network disconnect[OPTIONS]NETWORK CONTAINER

作用:将容器连接到网络或从网络断开。

示例:

# 连接容器到网络docker network connect mynetwork mycontainer# 从网络断开容器docker network disconnect mynetwork mycontainer

3.5 docker network rm

docker networkrmNETWORK[NETWORK...]

作用:删除一个或多个网络。

示例:

# 删除网络docker networkrmmynetwork

四、数据卷相关命令

4.1 docker volume ls

docker volumels[OPTIONS]

作用:列出数据卷。
常用选项:

  • -q:只显示数据卷名称。

示例:

docker volumels

4.2 docker volume create

docker volume create[OPTIONS][VOLUME]

作用:创建数据卷。
常用选项:

  • -d:指定驱动(默认为local)。

示例:

docker volume create myvolume

4.3 docker volume inspect

docker volume inspect[OPTIONS]VOLUME[VOLUME...]

作用:查看数据卷的详细信息。

示例:

docker volume inspect myvolume

4.4 docker volume rm

docker volumerm[OPTIONS]VOLUME[VOLUME...]

作用:删除一个或多个数据卷。

示例:

docker volumermmyvolume

4.5 docker volume prune

docker volume prune[OPTIONS]

作用:删除所有未使用的数据卷。
常用选项:

  • -f:强制删除,不提示。

示例:

docker volume prune

五、其他常用命令

5.1 docker info

docker info[OPTIONS]

功能:显示Docker系统信息,包括容器和镜像数量、存储驱动等。

示例:

docker info# 显示指定信息docker info --format'{{.ServerVersion}}'docker info --format'{{.Containers}} containers running'

5.2 docker version

docker version[OPTIONS]

功能:显示 Docker 客户端和服务端版本信息

示例:

# 显示详细版本信息docker version# 只显示客户端版本docker version --format'{{.Client.Version}}'# 显示JSON格式docker version --format'{{json .}}'

5.3 docker system

docker system prune[OPTIONS]

功能:管理系统资源
常用选项:

  • -a:清理所有未使用的镜像,不仅仅是悬空镜像。
  • --volumes:同时清理数据卷。

示例:

# 查看磁盘使用情况docker systemdf# 详细查看磁盘使用docker systemdf-v# 清理无用资源docker system prune# 清理所有未使用资源(包括镜像)docker system prune -a# 同时清理数据卷docker system prune -a --volumes# 查看帮助docker system --help
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/12 10:11:11

linux gpio获取

最近在工作中遇到了gpio解析失败的问题&#xff0c;跟踪发现设备树配置的字符串不匹配&#xff0c;在这里再次学习并记录下。 of_get_named_gpio 以前在工作中更多使用的是of_get_named_gpio这个标准函数&#xff0c;用以直接获取gpio。只要指定其具体的属性名&#xff0c;一般…

作者头像 李华
网站建设 2026/1/9 23:04:38

数据结构学习篇(4)---算法的时间复杂度

由于现在计算机的储存在硬件上能得到很好的解决&#xff0c;所以时间复杂度较空间复杂度更受关注。1.1 时间复杂度的概念时间复杂度的定义&#xff1a;在计算机科学中&#xff0c;算法的时间复杂度是一个函数&#xff0c;它定量描述了该算法的运行时间。一 个算法执行所耗费的时…

作者头像 李华
网站建设 2026/1/1 12:27:45

桌面开发,在线%RIP,路由表管理%系统,基于vs2022,c#,winform,txt,无数据库

经验心得帮客户完善一下RIP路由表拓扑结构图展示。代码很多地方不严谨帮客户修改一下就行。剩下就是搞懂路由表展示原理就行。 路由展示功能介绍 做这个路由展示功能时&#xff0c;最直观的感受就是重复的活干太多了。比如A到H这8个路由按钮&#xff0c;点每个按钮的逻辑几乎一…

作者头像 李华
网站建设 2025/12/14 22:55:07

Day 39 MLP神经网络的训练

浙大疏锦行 神经网络是一种模拟人脑神经元连接结构的分层模型&#xff0c;核心通过“输入层→隐藏层→输出层”的架构实现端到端学习&#xff0c;无需手动设计特征&#xff0c;能自动提取数据中的高阶非线性关系&#xff08;如心脏病风险与年龄、血压的复杂关联&#xff09;。…

作者头像 李华
网站建设 2025/12/14 22:52:24

浏览器原理

浏览器原理 一、 宏观视角&#xff1a;Chrome 多进程架构 现在的浏览器更像是一个分布式操作系统&#xff0c;而非简单的应用程序。 1. 四大核心进程 Browser Process (主进程)&#xff1a; 职责&#xff1a;负责 UI&#xff08;地址栏、书签&#xff09;、协调子进程、管理存储…

作者头像 李华
网站建设 2025/12/29 2:52:27

XXL-TOOL v2.4.0 发布 | 布隆过滤器、Excel流式读写、高性能BeanCopy

Release Notes 1、【新增】BloomFilter&#xff08;布隆过滤器&#xff09;&#xff1a;一种基于多哈希函数和位数组的概率型数据结构&#xff0c;具有高效空间利用与快速查询特性&#xff1b;2、【新增】Trie&#xff08;前缀数&#xff09;&#xff1a;一种哈希树的变种&…

作者头像 李华