2015-11-20 9 views
6

Próbuję uruchomić Chrome bez głowy wewnątrz Docker pojemnika przy użyciu Xvfb. Jednak, gdy ps pokazuje, że procesy Chrome istnieją, to nie dociera do mojej strony testowej. Uruchamianie tych samych poleceń poza Dockerem kończy się sukcesem.Headless Chrome w Döcker użyciu Xvfb

Xvfb :0 -screen 0 1024x768x24 & 
DISPLAY=:0 google-chrome http://mytestpage.com 

W Döcker, mam następujących komunikatów/błędów:

Xlib: extension "RANDR" missing on display ":0". 
Xlib: extension "RANDR" missing on display ":0". 
[1180:1180:1120/051319:ERROR:desktop_window_tree_host_x11.cc(882)] Not implemented reached in virtual void views::DesktopWindowTreeHostX11::InitModalType(ui::ModalType) 
[1223:1223:1120/051319:ERROR:sandbox_linux.cc(338)] InitializeSandbox() called with multiple threads in process gpu-process 
[1180:1201:1120/051319:ERROR:browser_gpu_channel_host_factory.cc(144)] Failed to create channel. 

Podczas

ps au | grep chrome 

* root  128 0.1 0.4 533772 69868 ?  Sl+ 06:02 0:00 /opt/google/chrome/chrome http://mytestpage.com 
* root  139 0.0 0.2 342648 44016 ?  S+ 06:02 0:00 /opt/google/chrome/chrome --type=zygote 
* root  140 0.0 0.0 28132 3812 ?  S+ 06:02 0:00 /opt/google/chrome/nacl_helper 
* root  143 0.0 0.0 342648 8016 ?  S+ 06:02 0:00 /opt/google/chrome/chrome --type=zygote 
* root  181 0.0 0.3 523452 52392 ?  Sl+ 06:02 0:00 /opt/google/chrome/chrome --type=gpu-process --channel=128.0.846512492 --supports-dual-gpus=false --gpu-driver-bug-workarounds=2,45,57 -$ 
* root  298 0.0 0.0 11120 1084 ?  S+ 06:05 0:00 grep chrome 

Running tych samych komend poza Döcker (gdzie pracuje) otrzymuję wiadomości/błędy:

Xlib: extension "RANDR" missing on display ":1". 
Xlib: extension "RANDR" missing on display ":1". 
[17750:17750:1119/215139:ERROR:sandbox_linux.cc(338)] InitializeSandbox() called with multiple threads in process gpu-process 

Odpowiedz

10

Prosty problem: ustawienie zmiennej środowiskowej DISPLAY dla wywołania nie wystarcza podczas uruchamiania Chrome. Musisz również przekazać flagę, aby wyłączyć procesor GPU, ponieważ okno dokowane nie ma do niego dostępu i wyłącza funkcję piaskownicy. Mam do eksportu display:

export DISPLAY=:0 
Xvfb :0 -screen 0 1024x768x24 & 
google-chrome --disable-gpu --no-sandbox http://mytestpage.com 
Powiązane problemy