Dockerfile не может запустить команду cp для перемещения файла внутри контейнера - PullRequest
0 голосов
/ 26 июня 2019

Привет. Я пытаюсь загрузить файл внутри контейнера и переместить этот файл в определенное место внутри контейнера.

RUN wget https://storage.googleapis.com/hadoop-lib/gcs/gcs-connector-latest-hadoop2.jar 
RUN cp gcs-connector-latest-hadoop2.jar /opt/spark-2.2.1-bin-hadoop2.7/jars/
RUN cp /opt/spark-2.2.1-bin-hadoop2.7/conf/spark-defaults.conf.template /opt/spark-2.2.1-bin-hadoop2.7/conf/spark-defaults.conf
RUN echo "spark.hadoop.google.cloud.auth.service.account.enable true" > /opt/spark-2.2.1-bin-hadoop2.7/conf/spark-defaults.conf

Но это не так, как показано ниже:

Step 44/46 : RUN cp gcs-connector-latest-hadoop2.jar /opt/spark-2.2.1-bin-hadoop2.7/jars/
 ---> Running in 8c81d9871377
cp: cannot create regular file '/opt/spark-2.2.1-bin-hadoop2.7/jars/': No such file or directory
The command '/bin/sh -c cp gcs-connector-latest-hadoop2.jar /opt/spark-2.2.1-bin-hadoop2.7/jars/' returned a non-zero code: 1

EDIT-1 Снимок экрана ошибки

Я пробовал упомянутое решение, и теперь я получаю сообщение об ошибке ниже:

Снятие промежуточного контейнера e885431017e8 Шаг 43/44: COPY /opt/spark-2.2.1-bin-hadoop2.7/conf/spark-defaults.conf.template /opt/spark-2.2.1-bin-hadoop2.7/conf/spark-defaults .conf lstat opt ​​/ spark-2.2.1-bin-hadoop2.7 / conf / spark-defaults.conf.template: такого файла или каталога нет

Ответы [ 2 ]

1 голос
/ 26 июня 2019

у вас уже есть путь /opt/spark-2.2.1-bin-hadoop2.7/jars/ в вашем контейнере?

, если не добавить это перед cp командой:

mkdir -p /opt/spark-2.2.1-bin-hadoop2.7/jars/

, попробуйте скопировать так:

cp gcs-connector-latest-hadoop2.jar /opt/spark-2.2.1-bin-hadoop2.7/jars/gcs-connector-latest-hadoop2.jar

после редактирования:

вы запускаете mkdir и пытаетесь скопировать с него, что не должно работать, поскольку папка пуста !!

0 голосов
/ 26 июня 2019

Почему вы не загружаете в папку напрямую?и использовать COPY для копирования файлов внутри контейнера COPY

RUN wget https://storage.googleapis.com/hadoop-lib/gcs/gcs-connector-latest-hadoop2.jar -P /opt/spark-2.2.1-bin-hadoop2.7/jars/
COPY /opt/spark-2.2.1-bin-hadoop2.7/conf/spark-defaults.conf.template /opt/spark-2.2.1-bin-hadoop2.7/conf/spark-defaults.conf

предполагается: /opt/spark-2.2.1-bin-hadoop2.7/jars/ папка существует

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