docker exec :在运行的容器中执行命令
语法
docker exec [options] container command [arg...]
options说明:
-
-d :分离模式: 在后台运行
-
-i :即使没有附加也保持stdin 打开
-
-t :分配一个伪终端
实例
在容器 mynginx 中以交互模式执行容器内 /root/coonote.sh 脚本:
coonote@coonote:~$ docker exec -it mynginx /bin/sh /root/coonote.sh http://www.coonote.com/
在容器 mynginx 中开启一个交互模式的终端:
coonote@coonote:~$ docker exec -i -t mynginx /bin/bash root@b1a0703e41e7:/#
也可以通过 docker ps -a 命令查看已经在运行的容器,然后使用容器 id 进入容器。
查看已经在运行的容器 id:
# docker ps -a ... 9df70f9a0714 openjdk "/usercode/script.sh…" ...
第一列的 9df70f9a0714 就是容器 id。
通过 exec 命令对指定的容器执行 bash:
# docker exec -it 9df70f9a0714 /bin/bash