Mon problème est comment faire pour exécuter google chrome en conteneur docker pour e2e tests.
J'ai créer un Dockerfile
officiel Jenkins image, mais lorsque vous essayez d'exécuter google chrome, il se bloque et afficher le message d'erreur:
Failed to move to new namespace: PID namespaces supported, Network namespace supported, but failed: errno = Operation not permitted
Trace/breakpoint trap (core dumped)
Le Jenkins docker image utilise Debian jessie
.
Je peux exécutez google chrome - --headless
drapeau et le serveur X n'est pas nécessaire.
C'est mon docker fichier:
Jenkins officiel de l'image:
La mise en pension d'une personne fonctionne google chrome avec une interface graphique à partir de docker:
Ma première approche est d'utiliser xvbf
, mais le processus est plus simple quand utilisé --headless
drapeau.
Je peux courir chrome sous Ubuntu server avec les mêmes commandes pour l'installation, mais dans le panneau, il échoue.
Après d'autres intentions, j'ai utilisé --no-sandbox
drapeau, mais docker images montre l'erreur suivante.
[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
En fait j'ai exécuté cette commande:
google-chrome-stable --headless --disable-gpu --no-sandbox http://www.google.com