我必须使用现有的Dockerfile,它从Centos 7生成一个docker镜像。(FROM centos:7,是Dockerfile中的第一行。)
我需要能够运行'npm install'和' npm run'将运行此映像的容器中的命令,但未安装npm。我在网上找到如何在Centos 7上安装npm的方法也不起作用,因为它们依赖于apt-get这样的东西也没有安装在容器中。没有sudo似乎也是一个问题。
有没有办法配置实际的Dockerfile,构建映像,并在正在构建的映像上安装npm?如果没有 - 我如何在将运行此Centos7映像的docker容器中安装npm?
答案:我将其添加到Dockerfile:
RUN yum install -y epel-release
RUN yum install -y npm nodejs
答案 0 :(得分:1)
CentOS和(和其他EL发行版)不使用apt
,他们使用yum
(或dnf
)。不幸的是,npm
没有打包在CentOS的正常回购中,你必须安装EPEL回购拳:
在Dockerfile中简单添加yum
调用:
RUN yum install -y http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
RUN yum install -y npm