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

项目中常用的docker指令

1. docker ps 查看当前正在运行的容器。

docker ps -a 这将列出所有容器,包括停止运行的。

2. docker exec 在已经运行的容器中执行命令的工具

启动一个交互式 Bash 会话

docker exec -it my-container bash

介绍 docker exec 命令

docker exec 是 Docker 提供的一个用于在已经运行的容器中执行命令的工具。通过 docker exec,你可以启动新的进程、打开交互式终端会话,或者在容器内执行任意命令。这对于调试、监控和管理容器内的应用程序非常有用。

主要功能
  • 执行命令: 在指定的容器内运行任意命令。
  • 交互式会话: 启动一个交互式终端(例如 Bash 或 sh),允许你与容器进行实时交互。
  • 后台执行: 在容器内启动一个后台进程,而无需附加到终端。

命令语法

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
参数说明
  • [OPTIONS]: 可选的标志,用于控制命令的行为。
  • CONTAINER: 目标容器的名称或 ID。
  • COMMAND: 要在容器内执行的命令。
  • [ARG...]: 命令的参数。

常用选项

以下是一些常用的选项,可以与 docker exec 结合使用:

  • -d, --detach

    • 功能: 在后台运行命令,不附加到终端。
    • 用途: 启动一个后台进程,例如启动一个服务或脚本。

    示例:

    docker exec -d my-container sh -c "while true; do echo Hello World; sleep 1; done"
    
  • -i, --interactive

    • 功能: 保持标准输入(STDIN)打开,即使没有附加到终端。
    • 用途: 允许你与容器内的进程进行交互。
  • -t, --tty

    • 功能: 为会话分配一个伪终端(TTY)。
    • 用途: 提供一个类似于终端的环境,支持颜色显示、行编辑等功能。

    组合使用 -it:

    • 这两个标志通常一起使用,以创建一个交互式终端会话

    示例:

    docker exec -it my-container bash
    
  • -e, --env

    • 功能: 设置环境变量。
    • 用途: 在执行命令时传递环境变量。

    示例:

    docker exec -e VAR1=value1 -e VAR2=value2 my-container printenv
    
  • -w, --workdir

    • 功能: 设置工作目录。
    • 用途: 指定命令执行的工作目录。

    示例:

    docker exec -w /app my-container ls -la
    

常用示例

  1. 启动一个交互式 Bash 会话

    docker exec -it my-container bash
    

    这将在名为 my-container 的容器内启动一个交互式 Bash shell,允许你执行命令、编辑文件等。

  2. 在容器内执行单个命令

    docker exec my-container ls -la
    

    这将在容器内执行 ls -la 命令,列出当前目录的详细信息。

  3. 在容器内启动一个后台进程

    docker exec -d my-container sh -c "while true; do echo Hello World; sleep 1; done"
    

    这将在容器内启动一个后台进程,每秒输出 “Hello World”。

  4. 设置环境变量并执行命令

    docker exec -e ENV_VAR=value my-container printenv
    

    这将在容器内设置环境变量 ENV_VAR 并执行 printenv 命令,查看环境变量。

  5. 指定工作目录并执行命令

    docker exec -w /app my-container ls -la
    

    这将在容器内的 /app 目录下执行 ls -la 命令。

注意事项

  • 容器状态: docker exec 只能在已经运行的容器中执行命令。如果容器已停止,docker exec 将无法执行。

  • 权限: 确保你有足够的权限执行 docker exec 命令。通常需要是 Docker 组的成员或使用 sudo

  • 命令可用性: 确保容器内安装了你要执行的命令。例如,如果你要执行 bash,容器内必须安装了 Bash。

  • 资源限制: docker exec 启动的进程会继承容器的资源限制(例如 CPU、内存)。确保容器有足够的资源来执行你需要的命令。

实际应用

docker exec 在以下场景中非常有用:

  • 调试: 进入容器内部,查看日志、调试应用程序。
  • 监控: 执行命令以监控容器内的资源使用情况。
  • 管理: 在容器内安装软件包、启动服务或修改配置。
  • 自动化: 在脚本或自动化任务中使用 docker exec 执行容器内的命令。

总结

docker exec 是一个强大的工具,允许你在已经运行的 Docker 容器中执行命令和启动交互式会话。通过合理使用 docker exec,你可以更有效地管理和调试容器化的应用程序。
示例:

docker exec -it my-ubuntu /bin/bash

这将进入名为 my-ubuntu 的容器的 bash shell。

http://www.xdnf.cn/news/8024.html

相关文章:

  • 免下载苹果IPA文件重签名工具:快速更换应用名称和BID(Bundle Identifier)的详细教程
  • 【GESP真题解析】第 20 集 GESP 一级 2025 年 3 月编程题 1:图书馆的老鼠
  • 提升搜索效率:深入了解Amazon Kendra的强大功能
  • 内核调试高手养成实战 · Day 2:i.MX8MP 实战调试 Vivante GPU 驱动
  • Spring AI 1.0 GA 正式发布
  • 信号量机制:操作系统中的同步与互斥利器
  • openlayer:11点击地图上省份实现overlay提示省份名称并修改对应所点省份区域颜色
  • c++11的auto关键一篇文章打通:基本用法、常见使用场景、最佳食用指南
  • 小刚说C语言刷题—1153 - 查找“支撑数”
  • Docker面试题(1)
  • MinIO纠删码技术解析:数据冗余与高可用的存储密码
  • 命令行关闭特定端口 命令行关闭端口脚本
  • f-string 高效的字符串格式化
  • 【MySQL成神之路】MySQL查询用法总结
  • CASAIM与荣耀达成合作,三维数字化检测技术助力终端消费电子制造实现生产工艺智能优化
  • 医疗行业数据共享新实践:如何用QuickAPI打通诊疗全流程数据壁垒
  • 免费图片处理工具压缩不糊 + 批量加水印兼容多种格式转换
  • 订单导入(常见问题和sql)
  • 架构图 C4 规范简介
  • 力扣-两数之和
  • 鸿蒙开发:应用上架第三篇,配置签名信息打出上架包
  • 安卓基础(代码解析)
  • YOLO11解决方案之VisonEye对象映射
  • 利用 Java 爬虫根据关键词获取某手商品列表
  • 人工智能应用时代:个人成长与职业突围的底层逻辑
  • 黑马+点评常见问题
  • 配电网运行状态综合评估方法研究
  • API测试框架全解析
  • 咽拭子+病毒采样管助力多项呼吸道病原体核酸检测!
  • 2025第一届轩辕杯--Crypto--WriteUp