-
Notifications
You must be signed in to change notification settings - Fork 287
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
node:14.15.5-alpine3.12 breaks chromium headless #3220
Comments
Same Problem here: DockerfilesDoes not work: FROM node:14.7.0-alpine
RUN echo "${ALPINE_MIRROR}/edge/main" >> /etc/apk/repositories
RUN apk add --no-cache \
--repository="http://dl-cdn.alpinelinux.org/alpine/edge/community" \
bash \
chromium \
curl Works: FROM node:14.7.0-alpine
RUN apk add --no-cache \
bash \
chromium \
curl How to reproduceRun docker and type /usr/bin/chromium-browser --no-sandbox --headless www.google.de Now whats the difference between both Dockerfiles. I guess its the chromium-version: /usr/bin/chromium-browser --product-version
81.0.4044.113 Not working version /usr/bin/chromium-browser --product-version
86.0.4240.111 So I guess we can break it down to the chromium version. But did not try to alter the node image yet. Edit: |
Image We started seeing the issue in the |
This is still happening on I think The solve is: apk add --no-cache dbus chromium chromium-chromedriver
dbus-daemon --system
chromium-browser --headless --disable-gpu --disable-dev-shm-usage --disable-software-rasterizer --remote-debugging-port=9222 --no-sandbox https://google.com |
I'm on node:16-alpine and this is seems like an issue still. I set --remote-debugging-port=9222 and it magically works for me (what I don't like 😀) without even installing dbus. It seems like when chromium starts it's trying to connect somewhere It looks like it uses dbus as well as "/run/dbus/system_bus_socket" file(?)
and dbus assumes the existence of "/run/dbus/system_bus_socket" file as well
The question is whether dbus and "/run/dbus/system_bus_socket" is something what has to be on any Linux system by "definition" so chromium can assume the existence of these staff on the machine and wouldn't install it....or the other way around? And another question is what is "any Linux system" ? I guess node:16-alpine is something that keeps linux as small as possible to support node 16. So everything else, should be installed manually and might break. Wherefore it's not an issue of node:x-alpine then., maybe it's an issue of Chromium. Looks like --remote-debugging-port=9222 changes the default behavior of Chromium and it doesn't use dbus. |
It seems there has been no activity on this issue for a while, and it is being closed in 30 days. If you believe this issue should remain open, please leave a comment. |
It seems there has been no activity on this issue for a while, and it is being closed. If you believe this issue should remain open, please leave a comment. |
Environment
MacOS 10.15.7 also OpenShift
Docker version 20.10.2, build 2291f61, also Kaniko debug-v1.3.0
14.15.5
node:14.15.5-alpine3.12
Expected Behavior
Chromium-Browser should function in Angular Protractor Chrome headless mode tests.
Current Behavior
Experiencing a socket error of some sort.
Possible Solution
Steps to Reproduce
I will include our Dockerfile which shows the alpine packages we are using. If necessary I will try to create a minimal Angular project I can attach but that's going to take a lot longer for me to do.
Additional Information
Downgrading to node:14.15.4-alpine3.12 works.
The issue appears to be specific to this node/alpine/chromium package combination. Running Node 14.15.5, on MacOS with Chrome browser (i.e. not in Docker) works.
The text was updated successfully, but these errors were encountered: