这是我的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 环境变量中。
你知道为什么吗?
最佳答案
您创建的符号链接(symbolic link)无效。您的 /usr/local/node
指向一个不存在的文件。您必须省略 .tar.gz
.
除此之外,我建议使用 node:onbuild
docker image 作为你的基础。它是作为您自己的 Node 应用程序的构建 block 创建的,并且已经包含了正确的 node.js 和 npm 设置。
关于node.js - ENV 变量未正确添加到容器环境中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28549269/