Сбой сборки докера Spark-2.4.0

Я пытаюсь создать искровой контейнер на основе alpine linux (используя предоставленный Dockerfile в дистрибутиве).

docker build -t spark:latest -f kubernetes/dockerfiles/spark/Dockerfile .

Я вижу следующие ошибки. Как мне обойти эти проблемы?

Sending build context to Docker daemon  256.2MB
Step 1/15 : FROM openjdk:8-alpine
 ---> 2cfb1dc1f0c8
Step 2/15 : ARG spark_jars=jars
 ---> Using cache
 ---> 3929d9e6b4a3
Step 3/15 : ARG img_path=kubernetes/dockerfiles
 ---> Using cache
 ---> 74e046503051
Step 4/15 : ARG k8s_tests=kubernetes/tests
 ---> Using cache
 ---> b935956a4bd1
Step 5/15 : RUN set -ex &&     apk upgrade --no-cache &&     apk add --no-cache bash tini libc6-compat linux-pam &&     mkdir -p /opt/spark &&     mkdir -p /opt/spark/work-dir &&     touch /opt/spark/RELEASE &&     rm /bin/sh &&     ln -sv /bin/bash /bin/sh &&     echo "auth required pam_wheel.so use_uid" >> /etc/pam.d/su &&     chgrp root /etc/passwd && chmod ug+rw /etc/passwd
 ---> Running in 04372cfa8170
+ apk upgrade --no-cache
fetch http://dl-cdn.alpinelinux.org/alpine/v3.8/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.8/community/x86_64/APKINDEX.tar.gz
WARNING: Ignoring http://dl-cdn.alpinelinux.org/alpine/v3.8/main/x86_64/APKINDEX.tar.gz: could not connect to server (check repositories file)
WARNING: Ignoring http://dl-cdn.alpinelinux.org/alpine/v3.8/community/x86_64/APKINDEX.tar.gz: could not connect to server (check repositories file)
OK: 101 MiB in 53 packages
+ apk add --no-cache bash tini libc6-compat linux-pam
fetch http://dl-cdn.alpinelinux.org/alpine/v3.8/main/x86_64/APKINDEX.tar.gz
WARNING: Ignoring http://dl-cdn.alpinelinux.org/alpine/v3.8/main/x86_64/APKINDEX.tar.gz: could not connect to server (check repositories file)
fetch http://dl-cdn.alpinelinux.org/alpine/v3.8/community/x86_64/APKINDEX.tar.gz
WARNING: Ignoring http://dl-cdn.alpinelinux.org/alpine/v3.8/community/x86_64/APKINDEX.tar.gz: could not connect to server (check repositories file)
ERROR: unsatisfiable constraints:
  bash (missing):
    required by: world[bash]
  libc6-compat (missing):
    required by: world[libc6-compat]
  linux-pam (missing):
    required by: world[linux-pam]
  tini (missing):
    required by: world[tini]
The command '/bin/sh -c set -ex &&     apk upgrade --no-cache &&     apk add --no-cache bash tini libc6-compat linux-pam &&     mkdir -p /opt/spark &&     mkdir -p /opt/spark/work-dir &&     touch /opt/spark/RELEASE &&     rm /bin/sh &&     ln -sv /bin/bash /bin/sh &&     echo "auth required pam_wheel.so use_uid" >> /etc/pam.d/su &&     chgrp root /etc/passwd && chmod ug+rw /etc/passwd' returned a non-zero code: 4

Кажется, вам не хватает некоторых библиотек. Попробуйте установить libc6-compat, linux-pam, tini

shtolik 30.01.2019 19:47

@shtolik, ты имеешь в виду установить rpm (или что-то в этом роде?)

Bhaskar 30.01.2019 19:52

Да, rpm/apt или что там в этом linux

shtolik 30.01.2019 19:56

мне кажется, что вам нужно сначала настроить сетевое соединение для alpine? так как он не может найти репозитории, и я не знаком с alpine, за исключением того, что я знаю, что это довольно просто.

wuerzelchen 30.01.2019 21:06

Могу я взглянуть на ваш Dockerfile?

DUDANF 07.10.2019 11:08

Также кажется, что у вас могут возникнуть проблемы с подключением к репозиторию, вы можете использовать зеркало. Как указано здесь: github.com/gliderlabs/docker-alpine/issues/…, если вы покажете мне свой Dockerfile/предоставите мне дополнительную информацию, я могу решить это для вас.

DUDANF 07.10.2019 11:13
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
6
368
1

Ответы 1

Для вас будет лучше, если вы сначала запустите свой предпочтительный Linux (в вашем случае Alpine) как обычный контейнер, а затем выполните его.

Затем попробуйте запустить команды сборки одну за другой в контейнере, а затем добавьте их в свой Dockerfile, если вам это удастся.

Также, как упоминал @wuerzelchen, не уверен, что Alpine является правильным выбором для вас в качестве дистрибутива Linux.

Другие вопросы по теме