gpt4 book ai didi

docker - 我们如何使用dpkg在dockerfile中的 Alpine 图像上安装google-chrome-stable?

转载 作者:行者123 更新时间:2023-12-02 17:41:12 24 4
gpt4 key购买 nike

我正在尝试使用dpkg在 Alpine 图像上安装google-chrome-stable。但是,已经安装了dpkg,但没有安装google-chrome-stable,而是返回此错误?有没有一种方法可以使用dpkg或其他方式在 Alpine 图像中安装google-chrome-stable?

dpkg: regarding google-chrome-stable_current_amd64.deb containing 

google-chrome-stable:amd64, pre-dependency problem:
google-chrome-stable:amd64 pre-depends on dpkg (>= 1.14.0)

dpkg: error processing archive google-chrome-stable_current_amd64.deb (--install):
pre-dependency problem - not installing google-chrome-stable:amd64
Errors were encountered while processing:

Dockerfile:
# Base image
FROM ruby:2.6.3-alpine3.10
# Use node version 10.16.3, yarn version 1.16.0
RUN apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.10/main/ nodejs=10.16.3-r0
RUN apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.10/community/ yarn=1.16.0-r0

# Install dependencies
RUN apk upgrade
RUN apk --update \
add build-base \
git \
tzdata \
nodejs \
nodejs-npm \
bash \
curl \
yarn \
gzip \
postgresql-client \
postgresql-dev \
imagemagick \
imagemagick-dev \
imagemagick-libs \
chromium \
chromium-chromedriver \
ncurses \
less \
dpkg=1.19.7-r0 \
chromium \
chromium-chromedriver

RUN dpkg --add-architecture amd64
RUN wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
RUN dpkg -i google-chrome-stable_current_amd64.deb

# This is the base directory used in any
# further COPY, RUN and ENTRYPOINT commands
WORKDIR /webapp
# Copy Gemfile and Gemfile.lock and run bundle install
COPY Gemfile* /webapp/
RUN gem install bundler -v '1.17.3' && \
bundle _1.17.3_ install

# Copy everything to /webapp for docker image
COPY . ./

EXPOSE 3000

# Run the application
CMD ["rails", "server", "-b", "0.0.0.0"]

最佳答案

以这种方式安装Chrome .deb文件在Alpine上不起作用。

尽管 dpkg 软件包在Alpine仓库中可用,并且对于安装轻量级Debian软件包很有用,但是您将无法使用它来安装复杂的Debian软件包,因为它将无法满足许多Debian依赖关系。 Alpine通常不兼容Debian(依赖于musl libc),因此使用apk安装 native Alpine软件包是正确的方法。

AFAIK,目前没有与Google Chrome Alpine Linux兼容的musl-libc构建。

但是,您可以安装Chromium浏览器,该浏览器可使用apk软件包提供:
apk add chromium
另一个选择是在 Vanilla Alpine镜像上启用glibc,使其与Debian二进制文件兼容。这是一个相当简单的过程,请参见:Dockerfile。但是,它可能不适用于具有诸如ruby:2.6.3-alpine3.10之类的现有应用程序的图像。而且,即使在Alpine上安装了glibc,Chrome也不可能没有问题地运行。我做了一个快速尝试(Dockerfile),但是无法通过第一个段错误。

关于docker - 我们如何使用dpkg在dockerfile中的 Alpine 图像上安装google-chrome-stable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58654309/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com