Docker exec 命令

docker exec :在运行的容器中执行命令

语法

  1. docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

OPTIONS说明:

  • -d :分离模式: 在后台运行

  • -i :即使没有附加也保持STDIN 打开

  • -t :分配一个伪终端

实例

在容器 mynginx 中以交互模式执行容器内 /root/test.sh 脚本:

  1. test@docker:~$ docker exec -it mynginx /bin/sh /root/test.sh
  2. http://www.test.com/

在容器 mynginx 中开启一个交互模式的终端:

  1. test@docker:~$ docker exec -i -t mynginx /bin/bash
  2. root@b1a0703e41e7:/#

也可以通过 docker ps -a 命令查看已经在运行的容器,然后使用容器 ID 进入容器。

查看已经在运行的容器 ID:

  1. # docker ps -a
  2. ...
  3. 9df70f9a0714 openjdk "/usercode/script.sh…"
  4. ...

第一列的 9df70f9a0714 就是容器 ID。

通过 exec 命令对指定的容器执行 bash:

  1. # docker exec -it 9df70f9a0714 /bin/bash