ENV 变量未正确添加到容器环境

ENV variable isn't added correctly to the container environment

这是我的Dockefile

FROM ubuntu:latest

MAINTAINER mazzy

WORKDIR /tmp

RUN apt-get update && apt-get install -y wget
RUN wget http://nodejs.org/dist/v0.12.0/node-v0.12.0-linux-x64.tar.gz
RUN tar xvf node-v0.12.0-linux-x64.tar.gz

RUN cp -r node-v0.12.0-linux-x64 /usr/local/

WORKDIR /usr/local
RUN ln -s /usr/local/node-v0.12.0-linux-x64.tar.gz /usr/local/node

# FIX HERE
ENV PATH /usr/local/node/bin:$PATH

RUN npm install -g bower

EXPOSE 8080:8080

这个 Dockerfile 的问题是,当我 运行 它时,我得到了 npm not found 错误。这可能是由于安装文件夹没有正确添加到 PATH 环境变量造成的。

你知道为什么吗?

您创建的符号链接无效。您的 /usr/local/node 指向一个不存在的文件。您必须省略 .tar.gz.

除此之外,我建议使用 node:onbuild docker 图像作为基础。它是作为您自己的节点应用程序的构建块创建的,并且已经包含 node.js 和 npm 的正确设置。