我有一个最初从 ubuntu 拉取的 Dockerfile,最近我遇到了更轻量级的 alpine,所以想从它拉取。我尝试构建的部分代码称为Healpix,它依赖于cfitsio。当我最初构建 ubuntu 版本时,我发现了这个 Dockerfile https://github.com/MilesCranmer/dockers/blob/master/dockerfiles/healpix。
本质上,问题是在 ubuntu 中有效,但在 alpine 中无效:
RUN echo "3\ngfortran\n\nY\n\n\ngcc\n\n\n\n\nN\n1\nY\nN\nN\n0\n" |
./configure && make
Run Code Online (Sandbox Code Playgroud)
我得到的错误是
Something went wrong ...
Quitting configuration script !
./configure: exit: line 162: Illegal number: -1
The command '/bin/sh -c echo "3\ngfortran\n\nY\n\n\ngcc\n\n\n\n\nN\n1\nY\nN\nN\n0\n" | ./configure && make' returned a non-zero code: 2
Run Code Online (Sandbox Code Playgroud)
有点令人困惑的是,所讨论的配置脚本不是 162 行长https://sourceforge.net/p/healpix/code/HEAD/tree/branches/branch_v350r1006/configure。我尝试安装 bash 并将脚本更改为该脚本,但这不起作用。
FROM ubuntu
RUN apt-get update && apt-get install -y gcc g++ gfortran make wget …Run Code Online (Sandbox Code Playgroud)