mirror of
https://github.com/jupyter/docker-stacks.git
synced 2025-10-13 13:02:56 +00:00

* Try to fix mamba under aarch64 QEMU by setting ENV G_SLICE=always-malloc * Set G_SLICE inside if statement * Write "extract_threads: 1" to /opt/.condarc Co-authored-by: Ayaz Salikhov <mathbunnyru@gmail.com>
70 lines
1.8 KiB
Docker
70 lines
1.8 KiB
Docker
# Copyright (c) Jupyter Development Team.
|
|
# Distributed under the terms of the Modified BSD License.
|
|
ARG OWNER=jupyter
|
|
ARG BASE_CONTAINER=$OWNER/minimal-notebook
|
|
FROM $BASE_CONTAINER
|
|
|
|
LABEL maintainer="Jupyter Project <jupyter@googlegroups.com>"
|
|
|
|
# Fix: https://github.com/hadolint/hadolint/wiki/DL4006
|
|
# Fix: https://github.com/koalaman/shellcheck/wiki/SC3014
|
|
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
|
|
|
USER root
|
|
|
|
# R pre-requisites
|
|
RUN apt-get update --yes && \
|
|
apt-get install --yes --no-install-recommends \
|
|
fonts-dejavu \
|
|
unixodbc \
|
|
unixodbc-dev \
|
|
r-cran-rodbc \
|
|
gfortran \
|
|
gcc && \
|
|
apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
|
|
USER ${NB_UID}
|
|
|
|
# R packages including IRKernel which gets installed globally.
|
|
# r-e1071: dependency of the caret R package
|
|
RUN arch=$(uname -m) && \
|
|
if [ "${arch}" == "aarch64" ]; then \
|
|
# Prevent libmamba from sporadically hanging on arm64 under QEMU
|
|
# <https://github.com/mamba-org/mamba/issues/1611>
|
|
export G_SLICE=always-malloc; \
|
|
fi && \
|
|
mamba install --quiet --yes \
|
|
'r-base' \
|
|
'r-caret' \
|
|
'r-crayon' \
|
|
'r-devtools' \
|
|
'r-e1071' \
|
|
'r-forecast' \
|
|
'r-hexbin' \
|
|
'r-htmltools' \
|
|
'r-htmlwidgets' \
|
|
'r-irkernel' \
|
|
'r-nycflights13' \
|
|
'r-randomforest' \
|
|
'r-rcurl' \
|
|
'r-rmarkdown' \
|
|
'r-rodbc' \
|
|
'r-rsqlite' \
|
|
'r-shiny' \
|
|
'r-tidyverse' \
|
|
'unixodbc' && \
|
|
mamba clean --all -f -y && \
|
|
fix-permissions "${CONDA_DIR}" && \
|
|
fix-permissions "/home/${NB_USER}"
|
|
|
|
# `r-tidymodels` is not easy to install under arm
|
|
RUN set -x && \
|
|
arch=$(uname -m) && \
|
|
if [ "${arch}" == "x86_64" ]; then \
|
|
mamba install --quiet --yes \
|
|
'r-tidymodels' && \
|
|
mamba clean --all -f -y && \
|
|
fix-permissions "${CONDA_DIR}" && \
|
|
fix-permissions "/home/${NB_USER}"; \
|
|
fi;
|