当前位置: 首页 > news >正文

Docker 命令核心语法

Docker 命令核心语法

docker [OPTIONS] COMMAND [ARG...]
  • docker: 主命令。
  • [OPTIONS]: 全局选项,影响 Docker 客户端本身的行为(如 -H 指定守护进程地址、--tls 启用加密等)。日常使用较少。
  • COMMAND: 子命令,表示要执行的主要操作(如 run, ps, images)。
  • [ARG...]: 传递给子命令的参数和选项。

常用 Docker 命令分类详解

以下是按照功能分类的最常用命令及其语法。

1. 容器生命周期管理 (最核心)
命令语法 & 常用选项说明
rundocker run [OPTIONS] IMAGE [COMMAND] [ARG...]
-d:后台运行
--name:命名容器
-p:端口映射 -p 主机端口:容器端口
-v:数据卷映射 -v 主机目录:容器目录
-e:设置环境变量
--network:指定网络模式
-it:交互模式运行(通常与 /bin/bash 连用)
创建并启动一个新容器。这是最复杂的命令。
startdocker start [OPTIONS] CONTAINER [CONTAINER...]启动一个或多个已停止的容器。
stopdocker stop [OPTIONS] CONTAINER [CONTAINER...]停止一个或多个运行中的容器(发送 SIGTERM 信号)。
restartdocker restart [OPTIONS] CONTAINER [CONTAINER...]重启一个或多个容器。
rmdocker rm [OPTIONS] CONTAINER [CONTAINER...]
-f:强制删除(正在运行的)
-v:同时删除关联的卷
删除一个或多个已停止的容器。
execdocker exec [OPTIONS] CONTAINER COMMAND [ARG...]
-it:交互模式(进入容器)
-e:设置环境变量
在正在运行的容器中执行命令。常用于进入容器:docker exec -it mynginx /bin/bash
pause/unpausedocker pause CONTAINER
docker unpause CONTAINER
暂停/恢复容器内的所有进程。
2. 容器信息查询
命令语法 & 常用选项说明
psdocker ps [OPTIONS]
-a:显示所有容器(包括已停止的)
-q:只显示容器ID
--no-trunc:不截断输出
列出容器。docker ps -a 是最常用的组合
logsdocker logs [OPTIONS] CONTAINER
-f:跟踪日志输出(类似 tail -f
--tail N:仅显示最后 N 条日志
-t:显示时间戳
获取容器的日志。排查问题必备
inspectdocker inspect [OPTIONS] NAME|ID [NAME|ID...]
--format or -f:用 Go 模板格式化输出
获取容器(或镜像、网络、卷)的底层详细信息(JSON 格式)。非常强大。
statsdocker stats [OPTIONS] [CONTAINER...]动态显示容器的实时资源使用情况(CPU、内存、网络IO)。
topdocker top CONTAINER [ps OPTIONS]显示容器中运行的进程信息。
3. 镜像管理
命令语法 & 常用选项说明
imagesdocker images [OPTIONS] [REPOSITORY[:TAG]]
-a:显示所有镜像(包括中间层)
-q:只显示镜像ID
列出本地存储的镜像。
pulldocker pull [OPTIONS] NAME[:TAG|@DIGEST]从镜像仓库(如 Docker Hub)下载镜像。不指定 TAG 则默认为 latest
pushdocker push NAME[:TAG]将本地的镜像上传到镜像仓库。
rmidocker rmi [OPTIONS] IMAGE [IMAGE...]
-f:强制删除
删除本地的一个或多个镜像。
builddocker build [OPTIONS] PATH | URL | -
-t:指定镜像名和标签 name:tag
-f:指定 Dockerfile 路径
根据 Dockerfile 构建一个新的镜像。
tagdocker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]为本地镜像创建一个新的标签(别名)。
4. 网络管理
命令语法说明
network lsdocker network ls列出所有 Docker 网络。
network createdocker network create [OPTIONS] NETWORK创建一个新的 Docker 网络。
network inspectdocker network inspect NETWORK查看网络的详细信息。
network connectdocker network connect NETWORK CONTAINER将容器连接到指定网络。
network disconnectdocker network disconnect NETWORK CONTAINER断开容器与指定网络的连接。
5. 数据卷管理
命令语法说明
volume createdocker volume create [OPTIONS] VOLUME创建一个数据卷。
volume lsdocker volume ls列出所有数据卷。
volume inspectdocker volume inspect VOLUME查看数据卷的详细信息。
volume rmdocker volume rm VOLUME删除一个数据卷。
volume prunedocker volume prune删除所有未被使用的数据卷。

实战命令组合示例

  1. 从下载到运行一个容器

    # 1. 下载最新版 nginx 镜像
    docker pull nginx:latest# 2. 以后台模式运行,并设置名称和端口映射
    docker run -d --name my-web -p 80:80 nginx# 3. 查看运行状态
    docker ps# 4. 查看实时日志
    docker logs -f my-web# 5. 进入容器内部
    docker exec -it my-web /bin/bash# 6. 停止容器
    docker stop my-web# 7. 删除已停止的容器
    docker rm my-web# 8. 删除镜像
    docker rmi nginx:latest
    
  2. 清理资源

    # 停止所有容器
    docker stop $(docker ps -aq)# 删除所有已停止的容器
    docker rm $(docker ps -aq)# 删除所有未被使用的镜像
    docker image prune -a# 删除所有未被使用的网络和数据卷
    docker system prune --volumes
    

如何获取帮助

如果忘记命令用法,--help 是你最好的朋友。

  • 查看所有命令列表
    docker --help
    
  • 查看具体命令的详细帮助(例如 run):
    docker run --help
    

文章转载自:

http://2D5QSSgR.rqjxc.cn
http://upKoJg2M.rqjxc.cn
http://sACuuOMG.rqjxc.cn
http://ibccRcjW.rqjxc.cn
http://e0zRqO7g.rqjxc.cn
http://l0fyaOpP.rqjxc.cn
http://ZkvtzcVT.rqjxc.cn
http://HMWj6MTQ.rqjxc.cn
http://WFUm120I.rqjxc.cn
http://fB3H2GmM.rqjxc.cn
http://tu0tgiqP.rqjxc.cn
http://JPeoDFWP.rqjxc.cn
http://hvvelrE7.rqjxc.cn
http://dzGX0Aeo.rqjxc.cn
http://s6MHDgIb.rqjxc.cn
http://y34eeISh.rqjxc.cn
http://s96EpLY7.rqjxc.cn
http://WojSYbRj.rqjxc.cn
http://wRqTvJ5m.rqjxc.cn
http://xbowGbnR.rqjxc.cn
http://prgZZA4M.rqjxc.cn
http://xnI8dNYU.rqjxc.cn
http://ZMJOcbww.rqjxc.cn
http://tuNsUjGc.rqjxc.cn
http://qvCbTYNV.rqjxc.cn
http://wVo9rirz.rqjxc.cn
http://8Oc2IK6U.rqjxc.cn
http://eTNE1dHI.rqjxc.cn
http://7aD5wyTm.rqjxc.cn
http://Z0xXjTJe.rqjxc.cn
http://www.dtcms.com/a/378837.html

相关文章:

  • 第五章:Python 数据结构:列表、元组与字典(一)
  • Python快速入门专业版(二十一):if语句基础:单分支、双分支与多分支(判断用户权限案例)
  • 学习笔记:JavaScript(4)——DOM节点
  • 软考中级习题与解答——第四章_软件工程(3)
  • 消息队列-kafka完结
  • SKywalking Agent配置+Oracle监控插件安装指南
  • Skywalking告警配置+简易邮件告警应用配置(保姆级)
  • 【matlab】YALMIP、GLPK安装资源及安装方法
  • modbus学习
  • 创建GLFW窗口,开启OpenGL之路
  • (网络原理)核心知识回顾 网络核心原理 get和post的理解 解析http 加密+请求和响应的一些关键字 Cookie和session 对密钥的理解
  • 如何提升研发文档的检索体验与效率
  • 分布式事务性能优化:从故障现场到方案落地的实战手记(三)
  • R-Zero:大语言模型的自进化革命,突破数据依赖迈向自主智能
  • RL【8】:Value Function Approximation
  • StringJoiner
  • 【知识堂】制造业与物流数字化全景图:系统缩写大全与专业名词速查手册
  • 项目1——单片机程序审查,控制系统安全漏洞分析和改进建议
  • 中断上半部与中断下半部
  • 吱吱企业即时通讯以安全为基,重塑安全办公新体验
  • ctfshow_web13-----------文件上传.user.ini
  • 112. 路径总和
  • 四,基础开发工具(下)
  • Docker+jenkinsPipeline 运行实现python自动化测试
  • Android图案解锁绘制
  • 分布式事务性能优化:从故障现场到方案落地的实战手记(一)
  • JVM第一部分
  • websocket和socket io的区别
  • codebuddy ai cli安装教程
  • MySQL5.7.44保姆级安装教程