Моя проблема заключается в том, как запустить google chrome в контейнере докеров для тестирования e2e.
Я создаю Dockerfile
из официального изображения Дженкинса, но когда вы пытаетесь запустить google chrome, он вылетает и показывает ошибку:
Failed to move to new namespace: PID namespaces supported, Network namespace supported, but failed: errno = Operation not permitted
Trace/breakpoint trap (core dumped)
Изображение докеры Jenkins использует Debian jessie
.
Я могу запустить google chrome с флагом --headless
, а сервер X не нужен.
Это мой файл докеров:
Официальное изображение Дженкинса:Репо человек запускает Google Chrome с графическим интерфейсом от докера:
Мой первый подход заключается в использовании xvbf
, но процесс проще при использовании флага --headless
.
Я могу запустить chrome на сервере Ubuntu с теми же командами для установки, но в докере он не работает.
После других намерений я использовал флаг --no-sandbox
, но изображения докеров показывают следующую ошибку.
[0427/180929.595479:WARNING:audio_manager.cc(295)] Multiple instances of AudioManager detected
[0427/180929.595537:WARNING:audio_manager.cc(254)] Multiple instances of AudioManager detected
libudev: udev_has_devtmpfs: name_to_handle_at on /dev: Operation not permitted
На самом деле я выполнил эту команду:
google-chrome-stable --headless --disable-gpu --no-sandbox http://www.google.com