登录
首页 >  Golang >  Go问答

在Docker中无法执行chromedp

来源:stackoverflow

时间:2024-02-22 18:30:29 256浏览 收藏

哈喽!今天心血来潮给大家带来了《在Docker中无法执行chromedp》,想必大家应该对Golang都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到,若是你正在学习Golang,千万别错过这篇文章~希望能帮助到你!

问题内容

我使用这种通常的方式在本地安装了 chromedp:- $ 去获取 -u github.com/chromedp/chromedp。我可以在本地运行它,但是当我将其部署到我的舞台环境时,出现以下错误:-

exec: \"google-chrome\": 在 $path 中找不到可执行文件

我需要在我的 dockerfile 中进行哪些更改?

注意:我已经尝试按照此答案中的建议在我的 dockerfile 中添加以下代码,但仍然不起作用

RUN apk update && apk upgrade && apk add --no-cache bash git && apk add --no-cache chromium

# Installs latest Chromium package.
RUN echo @edge http://nl.alpinelinux.org/alpine/edge/community >> /etc/apk/repositories \
    && echo @edge http://nl.alpinelinux.org/alpine/edge/main >> /etc/apk/repositories \
    && apk add --no-cache \
    harfbuzz@edge \
    nss@edge \
    freetype@edge \
    ttf-freefont@edge \
    && rm -rf /var/cache/* \
    && mkdir /var/cache/apk

RUN go get github.com/mafredri/cdp


CMD chromium-browser --headless --disable-gpu --remote-debugging-port=9222 --disable-web-security --safebrowsing-disable-auto-update --disable-sync --disable-default-apps --hide-scrollbars --metrics-recording-only --mute-audio --no-first-run --no-sandbox```

正确答案


最初我花了一段时间才弄清楚这个问题,不仅仅是你。 当您在本地计算机上安装 chromedp 时,它会获取软件包并为该特定发行版进行构建。当您在 docker 中运行它时,您需要为您在 docker 中运行的发行版下载特定的 chromium 版本。这是因为 deb 与 rpm 与 alpine 不同,并且您需要拥有正确的 chromium。

这是我使用基本 linux 发行版的 docker 文件的副本

RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | 
apt-key add - \
&& echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> 
/etc/apt/sources.list.d/google.list
RUN apt-get update && apt-get -y install google-chrome-stable
RUN chrome &
WORKDIR /app/svc/worker
RUN go build -o main .
EXPOSE 6061
CMD ["./main"]

此版本的 alpine 可能适用于 https://pkgs.alpinelinux.org/packages?name=chromium&branch=v3.10。但是,根据我的经验,最好不要使用最小发行版,因为 chrome 可能依赖于 alpine 中未包含的功能。

到这里,我们也就讲完了《在Docker中无法执行chromedp》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>