Docker, sbt - невозможно установить sbt с centos docker image - PullRequest
0 голосов
/ 30 января 2020

Я хотел бы иметь sbt в моем docker изображении. Я создал Dockerfile базу на centos:centos8 изображении:

FROM centos:centos8
ENV SCALA_VERSION 2.13.1
ENV SBT_VERSION 0.13.18

RUN  yum install -y epel-release
RUN  yum update -y && yum install -y wget

RUN wget -O /usr/local/bin/sbt-launch.jar http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/$SBT_VERSION/sbt-launch.jar

WORKDIR /root
EXPOSE 8080

RUN sbt compile
CMD sbt run

А также мне нужно установить sbt здесь, но когда я запустил этот скрипт, я получил ошибку:

Step 10/11 : RUN sbt compile
 ---> Running in 0aadcd774ba0
/bin/sh: sbt: command not found

Я не могу понять, почему sbt не удалось найти. Это хороший способ достичь того, что мне нужно, или я должен попробовать другой? Но мне нужно сделать это с centos

РЕДАКТИРОВАТЬ:

Наконец, это работает после справки из ответа ниже. Рабочий скрипт выглядит так:

FROM centos:centos8
ENV SBT_VERSION 0.13.17

RUN yum install -y java-11-openjdk && \
    yum install -y epel-release && \
    yum update -y && yum install -y wget && \
    wget http://dl.bintray.com/sbt/rpm/sbt-$SBT_VERSION.rpm && \
    yum install -y sbt-$SBT_VERSION.rpm

WORKDIR /root
EXPOSE 8080

RUN sbt compile
CMD sbt run

1 Ответ

1 голос
/ 30 января 2020

Вам необходимо установить sbt внутри вашего Dockerfile. Вот пример:

FROM centos:centos8
ENV SCALA_VERSION 2.13.1
ENV SBT_VERSION 0.13.17

RUN yum install -y epel-release
RUN yum update -y && yum install -y wget

# INSTALL JAVA
RUN yum install -y java-11-openjdk

# INSTALL SBT
RUN wget http://dl.bintray.com/sbt/rpm/sbt-${SBT_VERSION}.rpm
RUN yum install -y sbt-${SBT_VERSION}.rpm

RUN wget -O /usr/local/bin/sbt-launch.jar http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/$SBT_VERSION/sbt-launch.jar

WORKDIR /root
EXPOSE 8080

RUN sbt compile
CMD sbt run

Примечание: я не видел версию, которая была у вас в переменной env (0.13.18), поэтому я изменил ее на 0.13.17.

...