2016-09-22 202 views
1

英特爾銷我有一個與此命令normaly運行pintool:與搬運工人

../../../pin -injection child -t obj-intel64/mypintool.so -- obj-intel64/myexcecutable 

我想在myexcecutable位置放一個docker program與此命令運行:

docker run --rm --net spark-net --volumes-from data \ 
      cloudsuite/graph-analytics \ 
      --driver-memory 1g --executor-memory 4g \ 
      --master spark://spark-master:7077 

時我試圖用docker命令簡單地替換-- obj-intel64/myexecutable,pintool正常啓動,但沒有正常完成。

我相信用這種方式我的pintool附加到碼頭,而不是我想要的包含應用程序。

我該怎麼做,正確地將我的pintool附加到與docker一起運行的程序中?

回答

1

我不是碼頭專家,但以這種方式運行它確實會使碼頭工具成爲碼頭工程師。您需要將pin放入docker實例中,並在pin下的docker實例中運行可執行文件。也就是說,命令行應該看起來像這樣:

docker -run <docker arguments> pin <pin arguments> --myexecutable <executable arguments> 
+0

這就是爲什麼我做了這個問題,這是我第一次嘗試。碼頭工人不讓我這樣做...正如我可以注意到,碼頭使用容器,但不是可執行文件。這是我真正的問題。我試圖找到主(服務器)可執行文件來通過我的pintool運行它! - > http://cloudsuite.ch/graphanalytics/在這裏你可以看到碼頭基準 – user1969182

+0

我認爲這是你正在尋找的:http://stackoverflow.com/questions/27105112/howto-modify-an-docker-圖像 - 即-被創建的從 - 的存在的酮 – nitzanms