gpt4 book ai didi

r - 如何在 alpine 中安装 R 3.4.4

转载 作者:行者123 更新时间:2023-12-04 01:43:55 29 4
gpt4 key购买 nike

我正在尝试在我的 docker Alpine 镜像中安装 R。早些时候我确实使用
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E084DAB9 \ && add-apt-repository 'deb [arch=amd64,i386] https://cran.rstudio.com/bin/linux/ubuntu xenial/' \
&& apt-get update \ && apt-get install -y r-base

我无处可找到如何在 alpine 中安装它。
任何帮助,将不胜感激。

我的基本图像是 python:3.7-alpine

最佳答案

R 在 Alpine 社区存储库中可用,因此只需安装正确的 package :
apk add R
要获得更紧凑的图像,您可以从普通的 Alpine 图像开始,例如 alpine:3.9 ,如果您不需要专门的 Python。

Alpine 上可用的最新 R 版本是 3.5.1。最接近 3.4.4 的是 3.4.2,它在 Alpine V3.7 中可用。在这种情况下,从 Alpine V3.7 开始:

$ docker run -it alpine:3.7 
/ # apk add R

如果您完全需要 R 版本 3.4.4,则可能必须从源代码构建它。幸运的是,Artem Klevtsov 有一个出色的现成 Dockerfile 可以做到这一点:
https://github.com/artemklevtsov/r-alpine/blob/master/release/Dockerfile

只需将 R 版本字符串替换为 3.4.4 并构建镜像 - 效果很好。

编辑:

使用特定 R 版本的另一个选项是启用 glibc,该版本不适用于 native Alpine。支持 Alpine 容器。

通常,Alpine 建立在 musl libc 上,这是一个专门的 libc通常与 glibc 不兼容的实现,glibc 是大多数其他 Linux 发行版使用的事实上的标准 libc。安装 glibc 后,您应该能够在 Alpine 容器上运行任何通用 R Linux 构建。

以下 Dockerfile 部分将启用 glibc 支持,为 Alpine 容器大小增加约 10MB:
# Based on: https://github.com/anapsix/docker-alpine-java
FROM alpine:3.7

ENV GLIBC_REPO=https://github.com/sgerrand/alpine-pkg-glibc
ENV GLIBC_VERSION=2.28-r0

RUN set -ex && \
apk --update add libstdc++ curl ca-certificates && \
for pkg in glibc-${GLIBC_VERSION} glibc-bin-${GLIBC_VERSION}; \
do curl -sSL ${GLIBC_REPO}/releases/download/${GLIBC_VERSION}/${pkg}.apk -o /tmp/${pkg}.apk; done && \
apk add --allow-untrusted /tmp/*.apk && \
rm -v /tmp/*.apk && \
/usr/glibc-compat/sbin/ldconfig /lib /usr/glibc-compat/lib

关于r - 如何在 alpine 中安装 R 3.4.4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56148115/

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