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 的正确设置。
这是我的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 的正确设置。