docker exec命令详解
docker exec
命令用于在正在运行的 Docker 容器内部执行命令。该命令允许用户在容器内部运行一个新的进程,并通过命令行与容器交互。
以下是 docker exec
命令的语法:
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
其中,CONTAINER 参数是要执行命令的容器的名称或 ID。COMMAND 参数是要在容器内部执行的命令,ARG 参数是传递给命令的参数。以下是一些常用的选项:
-i
:保持 STDIN 打开,即使没有附加到容器上也是如此。-t
:在新的容器中分配一个伪 tty 终端。-d
:在后台模式下运行容器内的命令。--user
:指定要使用的用户名或 UID。--workdir
:指定命令运行时的工作目录。
例如,以下命令在名为 my-container 的容器内部运行一个 ls 命令,并列出容器内部的文件:
docker exec my-container ls /
该命令会在 my-container 容器内部执行 ls 命令,并列出根目录下的文件。
需要注意的是,docker exec
命令只能在正在运行的容器中执行命令,不能在停止的容器中执行命令。如果需要在停止的容器中执行命令,可以使用 docker start
命令启动容器,然后使用 docker exec
命令在容器内部执行命令。此外,需要注意容器内的命令需要在容器镜像中预先安装。如果容器内部没有安装需要执行的命令,则需要使用 docker run
命令在容器内部安装所需的软件包。