在docker里面运行ng头testing(angular-cli karmatesting)
我们有一个基于debian的docker镜像,我们正在尝试运行我们的业力unit testing。 我们正在使用Angular和angular-cli,所以我们基本上正在尝试启动ngtesting。
我们想用无头的镀铬而不是幻影的方式来运行它们。 为了做到这一点,我们安装了Chrome,我们得到了一个非常类似于这个:dockerFile:
我们configuration了我们的业力发射器来添加一些选项,但是我们被困在一个问题上。 通过启动命令很容易复制:
google-chrome --headless --no-sandbox --disable-gpu
我们得到以下错误:
libudev: udev_has_devtmpfs: name_to_handle_at on /dev: Operation not permitted
有人有一个想法? 不得不承认,我们有点卡住了,在这里:)
好的,我发现这个问题,实际上跟Docker没有关系。
我注意到karma在http://0.0.0.0:9876/上启动了它的服务器,因此我不得不在自定义的karma.conf中添加两个新的标志来在正确的端口上启动google-chrome:
'--remote-debugging-address=0.0.0.0', '--remote-debugging-port=9876'
另外,我必须使用–privileged属性(或–cap-add SYS_ADMIN,但特权更完整)来运行容器。
也许它会帮助别人;)