#r #docker #dockerfile
#r #docker #dockerfile
Вопрос:
Я пытаюсь установить язык R в файл docker. Моя версия Ubuntu — 18.04 LTS
RUN add-apt-repository 'deb https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/' amp;amp;
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
apt-get update
apt-get install -y r-base
rm -rf /var/lib/apt/lists/*
Но я получаю приведенную ниже ошибку. Но он работает на моем компьютере и не работает с файлом docker.
Reading package lists...
W: GPG error: https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/ InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 51716619E084DAB9
E: The repository 'https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/ InRelease' is not signed.
The command '/bin/bash -c add-apt-repository 'deb https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/' amp;amp; apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9 apt-get update apt-get install -y r-base rm -rf /var/lib/apt/lists/*' returned a non-zero code: 100
Кто-нибудь может помочь решить эту проблему?
Заранее спасибо
Ответ №1:
Добавьте ключ перед добавлением репозитория.
Также вам нужна команда amp;amp;
after every, чтобы связать их все. Я предпочитаю использовать ;
after set -uex
для длинных цепочек, чтобы я мог легко видеть, какой вывод команды поступает, особенно при сбое.
RUN set -uex;
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9;
add-apt-repository 'deb https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/';
apt-get update;
apt-get install -y r-base;
rm -rf /var/lib/apt/lists/*