写点什么

Docker 从入门到精通:Docker exec 命令学习

  • 2024-04-23
    江西
  • 本文字数:1003 字

    阅读完需:约 3 分钟

前言

我们之前介绍了 docker 容器管理的相关命令以及docker run命令的使用,本篇文章我们继续学习一个非常重要的容器管理命令docker exec命令,docker exec命令是一个非常实用的工具。它允许你在运行中的 Docker 容器内部执行命令。本文将介绍 docker exec·命令的基本用法以及一些常见的选项,帮助你更好地理解和利用 Docker。


获取更多技术资料,请点击!

docker exec

docker exec命令用于在运行中的 Docker 容器中执行命令。它允许我们与容器内的应用程序进行交互,并在容器中运行命令行工具、脚本或其他操作。通过使用 exec 命令,我们可以在不需要进入容器的情况下直接与容器内的环境进行交互。


注:对于已经暂停或停止了的容器,无法执行 docker exec 命令


docker exec语法


Docker exec 命令的基本语法如下:


docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
复制代码


命令详解


  • OPTIONS:可选参数,用于设置执行选项。

  • CONTAINER:容器名称或 ID,指定要执行命令的容器

  • COMMAND:要在容器内执行的命令

  • ARG:命令的参数,可以有多个


options 常用参数


  • -d,在后台运行命令

  • -i,即使没有附加也保持 STDIN 打开,和 -t 配合

  • -t,进入容器的 CLI 模式

  • -e,设置环境变量

  • --env-file,读入环境变量文件

  • -w,需要执行命令的目录

  • -u,指定访问容器的用户名


注:更多参数可以运行docker exec --help查看

示例用法

  1. 进入运行中的容器


docker exec -it my_container /bin/bash
复制代码


这会在名为 my_container 的容器内部启动一个交互式的 bash shell。我们可以在容器内部执行任何命令或操作。比如查看文件列表,或者执行指定脚本,如下:


#查看文件列表docker exec tomcat_muller ls -l
# 执行容器内的指定脚本docker exec -it tomcat_muller start.sh
复制代码


  1. 在后台容器内运行命令


docker exec -d my_container /usr/local/bin/run-background-task
复制代码


这会在名为 my_container 的容器内部以后台模式运行 run-background-task 脚本或命令。


注 1:容器必须在运行状态:docker exec·只能对运行中的容器执行命令。如果容器已经停止,你需要先启动容器再执行 docker exec


注 2:权限限制:docker exec 默认以容器内部的 root 用户权限执行命令。你可以使用 --user 选项指定其他用户。

总结

docker exec 命令是一个非常有用的 Docker 命令,可用于在运行中的容器内部执行命令和操作。通过合理地使用选项,你可以与容器交互并执行各种任务,如调试、运行特定命令等。希望本文的介绍能够帮助你更好地理解和使用 docker exec 命令。

用户头像

社区:ceshiren.com 微信:ceshiren2021 2019-10-23 加入

微信公众号:霍格沃兹测试开发 提供性能测试、自动化测试、测试开发等资料,实时更新一线互联网大厂测试岗位内推需求,共享测试行业动态及资讯,更可零距离接触众多业内大佬。

评论

发布
暂无评论
Docker从入门到精通:Docker exec 命令学习_霍格沃兹测试开发学社_InfoQ写作社区