Невозможно успешно построить образ рокера / r-apt. НЕТ GPG КЛЮЧ найден - PullRequest
0 голосов
/ 29 апреля 2020

Я пытаюсь использовать образ rocker / r-apt, который разрешает установку двоичных файлов R. Мои 72 минуты Docker Сборка с использованием образа r-base может помочь ...

Мой файл выглядит следующим образом.

FROM container.registry/rocker/r-apt:bionic
RUN apt-get update

Пара заметок. Моя компания использует внутренний реестр, поэтому я скачал образ с
https://hub.docker.com/r/rocker/r-apt
и перенес его в мой локальный реестр контейнеров.

Когда я пытаюсь собрать контейнер Docker дает мне эту ошибку. ОБНОВЛЕНИЕ - полное сообщение об ошибке

/deb.debian.org/debian testing InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 04EE7237B7D453EC NO_PUBKEY 648ACFD622F3D138

Я могу опубликовать более подробное сообщение об ошибке, когда на другом компьютере возвращается inte rnet.

Теперь я понимаю, что bioni c - это дистрибутив Ubuntu. r-base использует базу Debian из того, что я могу сказать.

Мой большой вопрос ... что я делаю не так, чтобы заставить этот образ rocker / r-apt работать правильно и все же позволять мне использовать apt-get чтобы установить несколько вещей, включите пакеты cran-r, которые должны быть включены.

Я слежу за этим сообщением по datawook ie.
https://datawookie.netlify.app/blog/2019/01/docker-images-for-r-r-base-versus-r-apt/

ОБНОВЛЕНИЕ Мой новый большой вопрос ... я должен указывать на deb.debian.org/debian для apt-get?

Ответы [ 2 ]

0 голосов
/ 07 мая 2020

Успех !!! Таким образом, R-Ubuntu 20.04, похоже, работает как шарм. Мой результат уменьшения времени сборки моего приложения R сработал.

72 минуты теперь 4 минуты

Это важно, потому что наши приложения работают в конвейерах CI / CD и поэтому 72-минутная сборка крайне раздражает. Не говоря уже о том, что для компиляции кода требуется много ресурсов.

Похоже, все мои проблемы были связаны с моей организацией Nexus Repository. Как только мы загрузили R-Ubuntu, нам пришлось перестроить его из GIT Repo, чтобы использовать наш внутренний образ Ubuntu. Это исправило 1 проблему.

Затем мне пришлось импортировать репо Michael Rutter в качестве источника и обновить его, чтобы использовать внутренний репозиторий.

Единственная проблема, которая может быть не очевидной, это то, что DockerFile должен иметь обновление apt-get и установить в правильном порядке. Я не помню, было ли у исходного изображения все это, но я опубликую заказ здесь.

RUN apt-get update \
    && apt-get install -y --no-install-recommends \
    && apt-get install -y gnupg2 \
    && apt-get install -y --no-install-recommends \
        dialog \
        software-properties-common \
        ed \
        less \
        locales \
        vim-tiny \
        wget \
        ca-certificates 

Так что после того, как все, что было настроено, это работало как волхвы c.

0 голосов
/ 29 апреля 2020

Я бы предложил использовать rocker/r-ubuntu вместо rocker/r-apt (что предшествует этому). Я человек за кулисами.

В Rocker у нас есть контейнеры на основе Debian, контейнеры на основе Ubuntu и контейнеры на основе Debian, которые, вероятно, будут основаны на Ubuntu в будущем. Короче говоря, «это сложно», но это отчасти ... потому что мы уже прокололи много контейнеров.

Источником справочной информации по-прежнему является наша статья в R Journal (ярлык для PDF ).

...