簡體   English   中英

從遠程計算機在Docker容器上執行命令

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM