首页 > 解决方案 > Docker 在 Alpine 上安装 Heroku CLI

问题描述

我正在尝试使用https://cli-assets.heroku.com/install.sh在 Linux Alpine 上安装 Heroku CLI,但在此脚本中有这样的注释:

  # on alpine (and maybe others) the basic node binary does not work
  # remove our node binary and fall back to whatever node is on the PATH
  /usr/local/lib/heroku/bin/node -v || rm /usr/local/lib/heroku/bin/node

如果我删除了这一行,就会出现这样的错误:

/usr/local/bin/heroku: line 44: /usr/local/lib/heroku/bin/node: No such file or directory

这是完整的我的 Dockerfile:

FROM alpine

RUN apk update && \
    apk add --no-cache bash && \
    apk add --no-cache openjdk8 && \
    apk add --no-cache java-cacerts && \
    update-ca-certificates -f && \
    apk add --no-cache sudo && \
    echo "root:kuba" | chpasswd

USER root


RUN echo "kuba" | sudo -S apk add --no-cache curl
RUN echo "kuba" | sudo -S curl https://cli-assets.heroku.com/install.sh -o ~/heroku.sh

RUN sed -i 's#/usr/local/lib/heroku/bin/node -v || rm /usr/local/lib/heroku/bin/node# #g' ~/heroku.sh

RUN echo "kuba" | sudo -S sh ~/heroku.sh

# Setup JAVA_HOME -- useful for docker commandline
ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/
RUN export JAVA_HOME


# Add an app and listen on port
ADD target/endlessblow-server-1.0-SNAPSHOT.jar .
COPY endless-blow-91878452-firebase-adminsdk-dxv9z-0db48a2d01.json /
EXPOSE 8000
CMD java -jar endlessblow-server-1.0-SNAPSHOT.jar

那么我应该在这个脚本中用什么来替换它,因为我不知道?

标签: linuxdockerherokualpine

解决方案


推荐阅读