从二进制文件安装了Node.js的Docker映像

时间:2019-02-07 18:45:19

标签: node.js docker

我对Docker非常陌生。为了学习,我想用从二进制文件安装的Node.js构建docker映像,因此我创建了以下Dockerfile:

FROM alpine:3.8

RUN mkdir -p /opt \
  && wget -c https://nodejs.org/dist/v8.11.3/node-v8.11.3-linux-x64.tar.gz -O - | tar -xvz -C /opt --strip-components 1 \
  && ln -s /opt/bin/node /usr/local/bin/node \
  && ln -s /opt/bin/npm /usr/local/bin/npm \
  && ln -s /opt/bin/npx /usr/local/bin/npx

该图像基于高山,下载了node.js的二进制文件并将其解压缩到“ opt”文件夹,并创建了指向node,npm和npx的链接文件并将其放置在/ usr / local / bin文件夹中。我认为这些操作足以安装node.js。之后,我使用以下命令构建并运行容器,以确保正确安装节点:

sudo docker run -it --rm <container_name> node -v

但是在运行容器而不是安装的node.js版本时,我得到以下错误输出: standard_init_linux.go:185:exec用户进程导致“没有这样的文件或目录”。

但是,如果我在主机系统上执行相同的操作,则会正确安装node.js。所以,我做错了什么?如何从Docker映像中的二进制文件安装node.js?预先感谢。

0 个答案:

没有答案