0
我有一個PhantomJS的碼頭集裝箱。它的工作原理,但我不能把任何params用於在phantomjs:如何在Docker容器中爲PhantomJS使用其他參數?
docker run —rm fizzka/phantomjs-source-capture http://phantomjs.org
是工作
docker run —rm fizzka/phantomjs-source-capture --proxy=185.72.225.18:3128 http://phantomjs.org
它不工作。我如何做到這一點,並更改我的代碼?
Dockerfile:
FROM wernight/phantomjs
COPY src/printSource.js/
ENTRYPOINT ["phantomjs", "printSource.js"]
CMD ["--help"]
和我printSource.js
var system = require('system');
var url = system.args[1];
if (!url || url == '--help') {
console.log("Usage: <docker-image-run> URL");
phantom.exit();
}
var page = require('webpage').create();
page.settings.userAgent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36';
page.open(url, function (status) {
if (status !== 'success') {
console.log('Unable to load the address!');
phantom.exit();
} else {
window.setTimeout(function() {
// page.render(output);
console.log(page.content);
phantom.exit();
}, 2000);
}
})
是的,謝謝,但我認爲把printSource.js放入容器中,你怎麼看待它? –
您可以將它包含在容器中,但是當您將入口點定義爲第一個參數時,無法在其之前添加任何其他參數。你需要重新設計你的入口點,可能還需要一個shell腳本,以便在js參數的正確方面傳遞你的各種參數(例如'--help'仍然需要繼續)。或者完全從入口點刪除它,並在您的cli中包含printSource.js。 – BMitch