前言
我们之前介绍了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
查看
示例用法
- 进入运行中的容器
docker exec -it my_container /bin/bash
这会在名为 my_container
的容器内部启动一个交互式的 bash shell。我们可以在容器内部执行任何命令或操作。比如查看文件列表,或者执行指定脚本,如下:
#查看文件列表
docker exec tomcat_muller ls -l
# 执行容器内的指定脚本
docker exec -it tomcat_muller start.sh
- 在后台容器内运行命令
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
命令。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。