2017-05-31 67 views

回答

0

如您所說,DockerHub上的官方Node repo沒有Node版本5.10.1的映像。

您必須創建自己的Dockerfile或使用Node v5.10.1的DockerHub的非官方映像。

順便說一下,如果您採用Node v6.10.0的Dockerfile並更改v5.10.1的Node版本,那麼您將擁有一個幾乎像官方一樣的Node圖像。

以下是修改爲安裝Node v.5.10.1的Node v6.10.0的Dockerfile。這應該可以解決你的問題。

希望這會有所幫助,祝你好運!

FROM buildpack-deps:jessie 

RUN groupadd --gid 1000 node \ 
    && useradd --uid 1000 --gid node --shell /bin/bash --create-home node 

# gpg keys listed at https://github.com/nodejs/node#release-team 
RUN set -ex \ 
    && for key in \ 
    9554F04D7259F04124DE6B476D5A82AC7E37093B \ 
    94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \ 
    FD3A5288F042B6850C66B31F09FE44734EB7990E \ 
    71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \ 
    DD8F2338BAE7501E3DD5AC78C273792F7D83545D \ 
    B9AE9905FFD7803F25714661B63B535A4C206CA9 \ 
    C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \ 
    56730D5401028683275BD23C23EFEFE93C4CFFFE \ 
    ; do \ 
    gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key" || \ 
    gpg --keyserver pgp.mit.edu --recv-keys "$key" || \ 
    gpg --keyserver keyserver.pgp.com --recv-keys "$key" ; \ 
    done 

ENV NPM_CONFIG_LOGLEVEL info 
ENV NODE_VERSION 5.10.1 

RUN curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-x64.tar.xz" \ 
    && curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \ 
    && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \ 
    && grep " node-v$NODE_VERSION-linux-x64.tar.xz\$" SHASUMS256.txt | sha256sum -c - \ 
    && tar -xJf "node-v$NODE_VERSION-linux-x64.tar.xz" -C /usr/local --strip-components=1 \ 
    && rm "node-v$NODE_VERSION-linux-x64.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt \ 
    && ln -s /usr/local/bin/node /usr/local/bin/nodejs 

ENV YARN_VERSION 0.24.4 

RUN set -ex \ 
    && for key in \ 
    6A010C5166006599AA17F08146C2130DFD2497F5 \ 
    ; do \ 
    gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key" || \ 
    gpg --keyserver pgp.mit.edu --recv-keys "$key" || \ 
    gpg --keyserver keyserver.pgp.com --recv-keys "$key" ; \ 
    done \ 
    && curl -fSL -o yarn.js "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-legacy-$YARN_VERSION.js" \ 
    && curl -fSL -o yarn.js.asc "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-legacy-$YARN_VERSION.js.asc" \ 
    && gpg --batch --verify yarn.js.asc yarn.js \ 
    && rm yarn.js.asc \ 
    && mv yarn.js /usr/local/bin/yarn \ 
    && chmod +x /usr/local/bin/yarn 

CMD [ "node" ] 
+0

命令「/ bin/sh的-c設置-ex &&用於6A010C5166006599AA17F08146C2130DFD2497F5密鑰;做gpg ...錯誤... – user3601578

+0

我認爲這是由於https://yarnpkg.com目前正在關閉,所以無法下載紗線包。你可以訪問該網站嗎? – kstromeiraos

相關問題