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 ...
補充:Docker exec 宿主對容器執行命令
Docker 下 exec 從宿主機對容器執行命名操作
docker exec -it # 交互可以進入容器 ; exec 也可以在宿主機對容器執行命令; docker attach # 也是可以進入容器
1、遠程 執行命令:文件操作:
docker exec -d nginx1 touch /etc/1.txt -d:後臺型,在 nginx1 容器中創建一個 1.txt 文件
2、文件操作 拷貝依然是 cp;
docker cp 1.11.sh nginx1:/root/ # 從宿主機 拷貝文件 docker exec nginx1 ls /root # 查看 文件 docker exec nginx1 rm -rf /root/1.11.sh # 刪除文件
3、diff 查看容器的目錄結構;
docker diff nginx1 # 查看 nginx1 容器的文件結構
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。
推薦閱讀:
- None Found