如何在 alpine Linux Docker 镜像中安装 libwebp

Nuw*_*ara 5 docker dockerfile alpine-linux

我想为我的 docker 映像安装 libwebp 依赖项。如何使用 docker 文件下载并安装 libwebp?一种方法是您可以下载 libwebp 和 ADD 文件到映像,如下所示。

ADD resources/vts/libwebp-0.4.1-linux-x86-64  /lib/libwebp-0.4.1-linux-x86-64
Run Code Online (Sandbox Code Playgroud)

但我需要通过运行这样的命令来安装它。

RUN apk upgrade -U \ && apk add ca-certificates ffmpeg \ && rm -rf/var/cache/*
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?我参考下图来创建我的 docker 文件

FROM openjdk:8-jdk-alpine
Run Code Online (Sandbox Code Playgroud)

Nic*_*lay 10

也许我没有正确理解你,但你可以像问题中描述的其他包一样安装libwebp和 打包。libwebp-tools

最终的结果Dockerfile是:

FROM openjdk:8-jdk-alpine
RUN apk update && \
    apk upgrade -U && \
    apk add ca-certificates ffmpeg libwebp libwebp-tools && \
    rm -rf /var/cache/*
Run Code Online (Sandbox Code Playgroud)

dwebp现在您可以通过以下路径找到二进制文件:

/ # which dwebp
/usr/bin/dwebp
Run Code Online (Sandbox Code Playgroud)

编辑:

如果您想libwebp在 alpine 平台上安装另一个版本,您需要添加以前的 alpine 版本中的软件包存储库,并定义需要安装的软件包版本。

libwebp对于您的特定情况,alpine 软件包存储库中有以下版本的软件包:

0.4.4-r0 - alpine v3.3
0.5.0-r0 - alpine v3.4
0.5.2-r0 - alpine v3.5
0.6.0-r0 - alpine v3.6
0.6.0-r1 - alpine v3.7
Run Code Online (Sandbox Code Playgroud)

例如您要安装libwebp版本0.4.4-r0. 是Dockerfile

FROM openjdk:8-jdk-alpine
RUN apk update && \
    apk upgrade -U && \
    apk add ca-certificates ffmpeg && rm -rf /var/cache/*

RUN echo "http://dl-cdn.alpinelinux.org/alpine/v3.3/main" >> /etc/apk/repositories

RUN apk add --no-cache libwebp=0.4.4-r0 libwebp-tools=0.4.4-r0
Run Code Online (Sandbox Code Playgroud)