我尝试使用 docker 运行 lumify,如下所示 1. 转到 lumify 目录路径 2. docker/build-dev.sh
在命令之后,在调用 Installation/java.sh 时开始安装 packges 我收到以下错误
Step 11/79 : ADD scripts/install-java.sh /opt/lumify/scripts/install-java.sh
---> Using cache
---> a9707abe3359
Step 12/79 : ADD config/java/java.sh /etc/profile.d/java.sh
---> Using cache
---> 14b21e6b06f9
Step 13/79 : ENV PATH $PATH:/opt/jdk/bin
---> Using cache
---> 33b7524471db
Step 14/79 : ENV JAVA_HOME /opt/jdk
---> Using cache
---> ce6960fe7bb5
Step 15/79 : ENV _JAVA_OPTIONS -Djava.net.preferIPv4Stack=true
---> Using cache
---> 6edff9896d94
Step 16/79 : RUN /bin/bash /opt/lumify/scripts/install-java.sh
---> Running in 3ac653d91653
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 5307 100 5307 0 0 2576 0 0:00:02 0:00:02 --:--:-- 2576
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
/opt/lumify/scripts/install-java.sh: line 29: cd: /opt/jdk: No such file or directory
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 3496k 100 3496k 0 0 328k 0 0:00:10 0:00:10 --:--:-- 447k
Unpacking...
Checksumming...
0
0
This is not a proper JDK directory. Exiting install.
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1644k 100 1644k 0 0 353k 0 0:00:04 0:00:04 --:--:-- 426k
Unpacking...
Checksumming...
0
0
This is not a proper JDK directory. Exiting install.
The command '/bin/sh -c /bin/bash /opt/lumify/scripts/install-java.sh' returned a non-zero code: 1
笔记:在原始安装/java.sh脚本中,如下所示
# download the archive
if [ ! -f "$ARCHIVE_DIR/jdk-7u71-linux-x64.tar.gz" ]; then
curl -L -o $ARCHIVE_DIR/jdk-7u71-linux-x64.tar.gz https://bits.lumify.io/extra/jdk-7u71-linux-x64.tar.gz
fi
自从https://bits.lumify.io/不工作(服务器已关闭)我将此 URL 替换为 http://download.oracle.com/otn-pub/java/jdk/7u71-b14/jdk-7u71-linux-x64.tar.gz
请任何人告诉我解决此问题的解决方案。我在尝试运行时遇到的所有这些错误lumify 演示使用码头工人。
答案1
如果您尚未同意 OTN 许可条款,该存档的下载链接会将您重定向到错误页面。对 oracle 链接的curl 调用不会发送必要的cookie 数据来指示满足此要求,因此它会被重定向到下载HTML 错误页面,当tar 调用gzip 解压缩它时,该页面当然是“不是gzip 格式” 。
查看脚本后,看起来必要的 cookie 名称和值位于第 3 行注释掉的 wget 参数中 (oraclelicense=accept-securebackup-cookie),因此请尝试将curl 行更改为
curl -L -o $ARCHIVE_DIR/jdk-7u71-linux-x64.tar.gz -b 'oraclelicense=accept-securebackup-cookie' http://download.oracle.com/otn-pub/java/jdk/7u71-b14/jdk-7u71-linux-x64.tar.gz
当然,您可以使用浏览器下载存档并像/tmp/lumify/archives/jdk-7u71-linux-x64.tar.gz
运行脚本之前一样保存它。该脚本在尝试使用curl 下载该存档之前会检查该存档是否存在,因此如果您这样做,就不会有问题。