在docker中,exec是一個(gè)命令,表達(dá)的意思是在一個(gè)運(yùn)行狀態(tài)下的容器里執(zhí)行命令;利用該命令能讓在容器里和宿主機(jī)上一樣執(zhí)行命令,當(dāng)參數(shù)設(shè)置為“-d”時(shí),表示在后臺(tái)運(yùn)行,語法為“docker exec [OPTIONS] CONTAINER COMMAND [ARG…]”。
本教程操作環(huán)境:linux7.3系統(tǒng)、docker19.03版、Dell G3電腦。
docker exec是什么意思
docker exec :在運(yùn)行的容器中執(zhí)行命令
語法
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
OPTIONS說明:
-d :分離模式: 在后臺(tái)運(yùn)行
-i :即使沒有附加也保持STDIN 打開
-t :分配一個(gè)偽終端
exec 實(shí)際上要表達(dá)的是在一個(gè)運(yùn)行狀態(tài)下的容器里執(zhí)行命令。通過借助exec命令能讓在容器里和宿主機(jī)上一樣執(zhí)行命令。
示例如下:
在容器 mynginx 中以交互模式執(zhí)行容器內(nèi) /root/runoob.sh 腳本:
runoob@runoob:~$ docker exec -it mynginx /bin/sh /root/runoob.sh http://www.runoob.com/
在容器 mynginx 中開啟一個(gè)交互模式的終端:
runoob@runoob:~$ docker exec -i -t mynginx /bin/bash root@b1a0703e41e7:/#
也可以通過 docker ps -a 命令查看已經(jīng)在運(yùn)行的容器,然后使用容器 ID 進(jìn)入容器。
# docker ps -a ... 9df70f9a0714 openjdk "/usercode/script.sh…" ...
第一列的 9df70f9a0714 就是容器 ID。
通過 exec 命令對(duì)指定的容器執(zhí)行 bash:
# docker exec -it 9df70f9a0714 /bin/bash
exec 實(shí)際上要表達(dá)的是在一個(gè)運(yùn)行狀態(tài)下的容器里執(zhí)行命令。(進(jìn)到容器看一看)
docker exec -it 容器 /bin/bash 這個(gè)命令行,其實(shí)就是通過 -it 的模式執(zhí)行了一下/bin/bash
推薦學(xué)習(xí):《docker視頻教程》