Docker命令-docker exec-在執行的容器中執行命令

wangchunbo發表於2020-07-27

在執行的容器中執行命令

$ docker exec [options] container command [arg...]

例子簡單展示:

# 進入redis 控制檯
docker exec -it 2498a3301c34 redis-cli
# i 展示容器輸入資訊
# t 命令列互動模式
# 後面數字字母表示 docker ps 命令得到的 容器的 id

選項

名稱 預設 描述
--detach, -d 後臺執行模式,在後臺執行命令相關命令
--detach-keys 覆蓋容器後臺執行的一些引數資訊
--env, -e 設定環境變數
--interactive, -i 展示容器輸入資訊STDIN
--privileged 為命令提供一些擴充套件許可權
--tty, -t 命令列互動模式
--user, -u 設定使用者名稱(format: <name
--workdir, -w 指定容器內的目錄

docker exec是需要容器處於執行中且PID 1程式也處於執行中才能執行的操作。命令執行後會進入容器的預設工作目錄,如果在Dockerfile中指定了工作目錄,則會進入Dokcerfile指定的目錄,如果命令中指定了工作目錄-w則會進入該目錄。

  1. 啟動一個容器,並且開啟一個bash會話。
$ docker run --name ubuntu_bash --rm -i -t ubuntu bash
  1. 後臺執行命令並且在容器內建立一個檔案。
$ docker run -d ubuntu_bash touch /tmp/execWorks
  1. 執行命令,開啟一個新的bash會話。
$ docker exec -it ubuntu_bash bash
  1. 執行命令並設定環境變數
$ docker exec -e VAR=1 ubuntu_bash bash

注意:這裡的環境變數只會在這次會話中生效。

$ docker exec -it ubuntu_bash bash
  1. 可以通過命令檢視容器預設工作目錄。
$ docker exec -it ubuntu_bash pwd
/
  1. 執行命令並進入指定的工作目錄
$ docker exec -ti -w /root ubuntu_bash pwd
/root
  1. 也可以直接指定bash目錄進入終端
$ docker exec -ti ubuntu_bash /bin/bash
本作品採用《CC 協議》,轉載必須註明作者和本文連結

上海PHP自學中心-免費程式設計視訊教學|
7Dn78VKKcW.jpg!large
S3d25uqwht.png!large

相關文章