在docker中,exec是一个命令,表达的意思是在一个运行状态下的容器里执行命令;利用该命令能让在容器里和宿主机上一样执行命令,当参数设置为“-d”时,表示在后台运行,语法为“docker exec [OPTIONS] CONTAINER COMMAND [ARG…]”。
本教程操作环境:linux7.3系统、docker19.03版、Dell G3电脑。
docker exec是什么意思
docker exec :在运行的容器中执行命令
语法
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
OPTIONS说明:
-d :分离模式: 在后台运行
-i :即使没有附加也保持STDIN 打开
-t :分配一个伪终端
exec 实际上要表达的是在一个运行状态下的容器里执行命令。通过借助exec命令能让在容器里和宿主机上一样执行命令。
示例如下:
在容器 mynginx 中以交互模式执行容器内 /root/runoob.sh 脚本:
runoob@runoob:~$ docker exec -it mynginx /bin/sh /root/runoob.sh http://www.runoob.com/
在容器 mynginx 中开启一个交互模式的终端:
runoob@runoob:~$ docker exec -i -t mynginx /bin/bash root@b1a0703e41e7:/#
也可以通过 docker ps -a 命令查看已经在运行的容器,然后使用容器 ID 进入容器。
# docker ps -a ... 9df70f9a0714 openjdk "/usercode/script.sh…" ...
第一列的 9df70f9a0714 就是容器 ID。
通过 exec 命令对指定的容器执行 bash:
# docker exec -it 9df70f9a0714 /bin/bash
exec 实际上要表达的是在一个运行状态下的容器里执行命令。(进到容器看一看)
docker exec -it 容器 /bin/bash 这个命令行,其实就是通过 -it 的模式执行了一下/bin/bash
推荐学习:《docker视频教程》