docker exec
描述
在運(yùn)行的容器中執(zhí)行命令
使用
$ docker exec [options] container command [arg...]
選項(xiàng)
名稱 | 默認(rèn) | 描述 |
---|---|---|
--detach, -d |
后臺(tái)運(yùn)行模式汛骂,在后臺(tái)執(zhí)行命令相關(guān)命令 | |
--detach-keys |
覆蓋容器后臺(tái)運(yùn)行的一些參數(shù)信息 | |
--env, -e |
設(shè)置環(huán)境變量 | |
--interactive, -i |
展示容器輸入信息STDIN
|
|
--privileged |
為命令提供一些擴(kuò)展權(quán)限 | |
--tty, -t |
命令行交互模式 | |
--user, -u |
設(shè)置用戶名(format: <name|uid>[:<group|gid>]) | |
--workdir, -w |
指定容器內(nèi)的目錄 |
docker exec
是需要容器處于運(yùn)行中且PID 1
進(jìn)程也處于運(yùn)行中才能執(zhí)行的操作饶氏。命令執(zhí)行后會(huì)進(jìn)入容器的默認(rèn)工作目錄,如果在Dockerfile
中指定了工作目錄殃姓,則會(huì)進(jìn)入Dokcerfile
指定的目錄锹锰,如果命令中指定了工作目錄-w
則會(huì)進(jìn)入該目錄朋截。
使用示例
- 啟動(dòng)一個(gè)容器嚎朽,并且開(kāi)啟一個(gè)
bash
會(huì)話逾苫。
$ docker run --name ubuntu_bash --rm -i -t ubuntu bash
- 后臺(tái)執(zhí)行命令并且在容器內(nèi)創(chuàng)建一個(gè)文件卿城。
$ docker run -d ubuntu_bash touch /tmp/execWorks
- 執(zhí)行命令,開(kāi)啟一個(gè)新的
bash
會(huì)話铅搓。
$ docker exec -it ubuntu_bash bash
- 執(zhí)行命令并設(shè)置環(huán)境變量
$ docker exec -e VAR=1 ubuntu_bash bash
注意:這里的環(huán)境變量只會(huì)在這次會(huì)話中生效瑟押。
$ docker exec -it ubuntu_bash bash
- 可以通過(guò)命令查看容器默認(rèn)工作目錄。
$ docker exec -it ubuntu_bash pwd
/
- 執(zhí)行命令并進(jìn)入指定的工作目錄
$ docker exec -ti -w /root ubuntu_bash pwd
/root
- 也可以直接指定
bash
目錄進(jìn)入終端
$ docker exec -ti ubuntu_bash /bin/bash