docker curl возвращает неожиданный конец файла - PullRequest
0 голосов
/ 01 мая 2020

Я работаю над развертыванием моего проекта maven в IBMCloud с Centos Machine, сборка завершена успешно, но при выполнении команды запуска "ibmcloud dev run --trace" я получаю эту ошибку

/bin/sh: 1: curl: not found
gzip: stdin: unexpected end of file
tar: Child returned status 1
tar: Error is not recoverable: exiting now
The command '/bin/sh -c mkdir -p /usr/share/maven /usr/share/maven/ref   && curl -fsSL http://apache.osuosl.org/maven/maven-3/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz     | tar -xzC /usr/share/maven --strip-components=1   && ln -s /usr/share/maven/bin/mvn /usr/bin/mvn' returned a non-zero code: 2
FAILED
An error exit status 2 was encountered while building the Docker image.

Содержимое файла Docker

FROM ibmjava:8-sfj
LABEL maintainer="IBM Java Engineering at IBM Cloud"

COPY com.project.presentation/target/com.project.war /app.war

ARG MAVEN_VERSION=3.5.4
ARG USER_HOME_DIR="/root"

RUN mkdir -p /usr/share/maven /usr/share/maven/ref \
  && curl -fsSL http://apache.osuosl.org/maven/maven-3/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz \
    | tar -xzC /usr/share/maven --strip-components=1 \
  && ln -s /usr/share/maven/bin/mvn /usr/bin/mvn

ENV MAVEN_HOME /usr/share/maven
ENV MAVEN_CONFIG "$USER_HOME_DIR/.m2"

COPY mvn-entrypoint.sh /usr/local/bin/mvn-entrypoint.sh
COPY settings-docker.xml /usr/share/maven/ref/

VOLUME "$USER_HOME_DIR/.m2"

ENV JAVA_OPTS=""
ENTRYPOINT [ "sh", "-c", "mvn -pl com.project.presentation -am spring-boot:run" ]

Я обновил файл Docker, основываясь на предложениях по этой ссылке, чтобы он имел настройки - docker. xml и mvn-entrypoint. sh скопировал Docker изображение с Maven не запускается

1 Ответ

2 голосов
/ 01 мая 2020

На образе не установлено curl. Вы можете проверить это, просто написав простой Dockerfile, как показано ниже

FROM ibmjava:8-sfj

RUN curl google.com

. Теперь это не удастся, указав приведенную ниже ошибку

...
Status: Downloaded newer image for ibmjava:8-sfj
 ---> e00902e30a47
Step 2/2 : RUN curl google.com
 ---> Running in 6b08c670fad2
/bin/sh: 1: curl: not found
The command '/bin/sh -c curl google.com' returned a non-zero code: 127

Установите curl на изображение с помощью добавив следующую строку

RUN apk add --update \
    curl \
    && rm -rf /var/cache/apk/*
...