docker exec一次執行多個命令詳解

docker exec命令能夠在運行着的容器中執行命令。docker exec命令的使用格式:

docker exec [OPTIONS] container_name COMMAND [ARG...]
OPTIONS說明:

-d,以後臺方式執行命令;

-e,設置環境變量

-i,交互模式

-t,設置TTY

-u,用戶名或UID,例如myuser:myusergroup

通常COMMAND只能是一條語句,爲了支持多個命令的執行,需要將多個命令連接起來交給Shell,docker exec命令的使用示例如下:

sudo docker exec myContainer bash -c "cd /home/myuser/myproject && git fetch ssh://gerrit_server:29418/myparent/myproject ${GERRIT_REFSPEC} && git checkout FETCH_HEAD";
sudo docker exec myContainer bash -c "cd /home/myuser/myproject;git fetch ssh://gerrit_server:29418/myparent/myproject ${GERRIT_REFSPEC};git checkout FETCH_HEAD";


注意:對於已經暫停或停止了的容器,無法執行docker exec命令,如下將拋出異常:

docker pause myContainer 
docker exec myContainer ...

參考官方文檔:

https://docs.docker.com/engine/reference/commandline/exec/
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章