[英]Execute command on docker container from remote machine
我有在主機上運行的docker。 該主機上有兩個docker容器,即container_1和container_2。 現在,我想從我的遠程開發機上對container_1執行一些命令。
管道分隔命令,即
sudo docker exec -it container_1 sudo find <dir> - type f -iname *_abc_* -print0 | du --files0-from - -b | awk 'BEGIN{sum=0} {sum+=$1} END{print sum}'
在上面的命令中僅形成第一個命令,直到第一個管道在docker容器上執行,下一組命令在主機上執行。
我正在使用python fabric API從遠程計算機執行此操作。
有什么方法可以從遠程計算機上對容器執行此完整命令嗎?
那是因為pipe命令實際上是在您的主機上執行的,請嘗試這樣做,它可能對您有用:
sudo docker exec -it container_1 bash -c "sudo find - type f -iname_abc_ -print0 | du --files0-from - -b | awk 'BEGIN{sum=0} {sum+=$1} END{print sum}'"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.