2017-10-11 69 views
0

我們有一個基於debian的docker鏡像,我們正在嘗試運行我們的業力單元測試。我們使用Angular和angular-cli,所以我們基本上試圖啓動ng測試。運行ng測試(angular-cli karma測試),在docker內部使用無鍍鉻物

我們想用無頭鍍鉻而不是幻像來運行它們。爲了做到這一點,我們安裝了Chrome,並且我們得到了一個與此非常相似的dockerFile:https://hub.docker.com/r/justinribeiro/chrome-headless/~/dockerfile/

我們配置了我們的業力發射器來添加幾個選項,但是我們被困在一個問題上。這是很容易通過reproductible的launche命令:

​​

我們得到了以下錯誤:

libudev: udev_has_devtmpfs: name_to_handle_at on /dev: Operation not permitted 

是某人有一個想法?不得不承認,我們有點卡住了,在這裏:)

+0

安置自己的'Dockerfile' –

+0

只是FWIW,我保持https://github.com/joelgriffith/browserless,這需要在泊塢窗運行的所有Chrome部分的護理。可能會更好使用類似的東西,而不是讓它自己升級 –

+0

哇,看起來很不錯,謝謝!我可能會盡快嘗試一下,我有一些空閒時間;) – tanou

回答

1

好吧,我發現這個問題,實際上與docker沒有關係。

我注意到,業力被推出其服務器上http://0.0.0.0:9876/,所以我只好兩個新的標誌添加到我的自定義karma.conf到正確的端口上推出谷歌鉻:

'--remote-debugging-address=0.0.0.0', 
'--remote-debugging-port=9876' 

而且,我必須使用--privileged屬性(或--cap-add SYS_ADMIN,但特權更完整)來運行容器。

也許這會幫助別人;)

+0

我可以看不到關於瀏覽器的測試報告嗎? 這裏是我的問題https://stackoverflow.com/questions/47122422/karma-test-runner-of-angular-in-docker-doesnt-open-in-browser – Karty