Проблема при создании контейнера Kubernetes Docker для Spark с использованием файла Docker, поставляемого с источником Spark - PullRequest
0 голосов
/ 11 июля 2019

Я пытаюсь собрать контейнер Kubernetes для Spark, используя инструкции, приведенные в исходном коде Spark. Я использую файл Docker, предоставленный здесь: https://github.com/apache/spark/blob/branch-2.4/resource-managers/kubernetes/docker/src/main/dockerfiles/spark/Dockerfile

Однако пути, указанные в Dockerfile, не соответствуют структуре папок исходного кода Spark. Например,

  1. В исходном коде нет директории 'jar'. Но файл Docker делает 'COPY jars / opt / spark / jars'
  2. entrypoint.sh находится в 'resource-manager / kubernetes / docker / src / main / dockerfiles / spark / entrypoint.sh', но файл Docker пытается скопировать его из "COPY $ {img_path} /spark/entrypoint.sh / opt /" где "ARG img_path = kubernetes / dockerfiles"
  3. Точно так же, похоже, что "COPY $ {k8s_tests} / opt / spark / tests" имеет неверный исходный каталог.

Чего мне не хватает?

1 Ответ

0 голосов
/ 11 июля 2019

Чтобы ответить на вопрос «Чего мне не хватает?» было бы то, что они не используют простой docker build -t <tag> . из этого каталога. Вместо этого у них есть сценарий сборки на https://github.com/apache/spark/blob/6c2d351f5466d42c4d227f5627bd3709c266b5ce/bin/docker-image-tool.sh, который, помимо прочего, проверяет, были ли построены банки в первую очередь за https://github.com/apache/spark/blob/6c2d351f5466d42c4d227f5627bd3709c266b5ce/bin/docker-image-tool.sh#L155-L157

В дополнение к этому он фактически создает структуру папок и копирует сценарии и зависимые файлы на месте в https://github.com/apache/spark/blob/6c2d351f5466d42c4d227f5627bd3709c266b5ce/bin/docker-image-tool.sh#L89-L127, поэтому вы также видите ошибки пропуска entrypoint.sh и других аргументов.

Edit:

Ранее я добавил кое-что об использовании официального изображения, упомянутого @cookiemonster, но потом заметил, что на самом деле это не официальное изображение. Я не смог найти ни одного опубликованного официального изображения Apache, поэтому я удалил этот комментарий. Вы можете определенно использовать встроенное изображение кем-то еще. Но вы можете принять это решение, поскольку я не хочу рекомендовать какие-либо случайные изображения, которые я не могу проверить самостоятельно, если они не поддерживаются в восходящем направлении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...