高山linux不执行编译nodejs

我试图设置我的docker文件没有成功。

这就是我想要做的:

FROM alpine:3.5 ENV VERSION=4.8.1 RUN apk add --no-cache curl make gcc g++ python linux-headers binutils-gold gnupg libstdc++ tar xz && \ curl -sSL -o node.tar.xz https://nodejs.org/download/release/v${VERSION}/node-v${VERSION}-linux-x64.tar.xz && \ tar xJf node.tar.xz -C /usr/local --strip-components 1 CMD ["node", "--version"] 

我得到的回应是这样的:

 Step 1 : FROM alpine:3.5 ---> 4a415e366388 Step 2 : ENV VERSION 4.8.1 ---> Using cache ---> 69c1a9ea15a9 Step 3 : RUN apk add --no-cache curl make gcc g++ python linux-headers binutils-gold gnupg libstdc++ tar xz && curl -sSL -o node.tar.xz https://nodejs.org/download/release/v${VERSION}/node-v${VERSION}-linux-x64.tar.xz && tar xJf node.tar.xz -C /usr/local --strip-components 1 ---> Using cache ---> 7f508d49e0bc Step 4 : CMD node --version ---> Running in 196a2ed982fd ---> c0e1fbc1fe23 Removing intermediate container 196a2ed982fd Successfully built c0e1fbc1fe23 + docker -H tcp://tjsu250n:2375 run --restart=always --name=barcode -d -p 9002:9001 tjdft_gesirh/barcode:194 c8483a53359d8a26b2f7e3e3bd01b3185a235f7722687f3aadf9c4ff6d4ac540 + docker -H tcp://tjsu250n:2375 images -a + grep tjdft_gesirh/barcode + expr 194 - 1 + awk {print $1} + grep 193 + [ != ] /tmp/hudson6046350871523920710.sh: 14: [: !=: unexpected operator Finished: SUCCESS 

但是,尽pipe有这个消息,命令docker日志xpto返回:

 standard_init_linux.go:175: exec user process caused "no such file or directory" 

如果我使用RUN命令来运行这个:

 RUN ls -la /usr/local/bin/ && \ echo $PATH && \ npm --version 

我得到这个回应:

 Step 4 : RUN ls -la /usr/local/bin/ && echo $PATH && npm --version && ./usr/local/bin/node --version ---> Running in 1b6bd429d169 total 24244 drwxrwxr-x 2 500 500 27 Mar 21 19:14 . drwxr-xr-x 6 root root 101 Mar 23 21:02 .. -rwxrwxr-x 1 500 500 24825844 Mar 21 19:14 node lrwxrwxrwx 1 500 500 38 Mar 21 19:14 npm -> ../lib/node_modules/npm/bin/npm-cli.js /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin [91m/usr/local/bin/npm: exec: line 2: /usr/local/bin/node: not found [0mtime="2017-03-23T18:12:59-03:00" level=info msg="The command '/bin/sh -c ls -la /usr/local/bin/ && \techo $PATH && \tnpm --version && \t./usr/local/bin/node --version' returned a non-zero code: 127" Build step 'Execute shell' marked build as failure Finished: FAILURE 

我需要一些帮助。

##编辑##

oracle java也/usr/local/bin/node: not found这个错误。 不知道为什么它不能从高山执行。

我想你需要在musl-libc上build立阿尔卑斯节点。

请参阅官方7.7高山Dockerfile ,与使用预构build软件包的7.7 Debian Dockerfile进行比较。

高山也做nodejs apk包,但他们不会像在nodejs.org发布一样 。

有可能使用apk来下载nodejs。 包详情可以在这里find

 apk add nodejs 

应该安装nodejs 6.10.1-r0。

虽然从源头上build设可以是有趣和挑战! 例子可以在这里和这里find

希望有所帮助!