从节点映像运行docker容器时找不到Npm
# Dockerfile FROM node:7-alpine RUN mkdir -p /src/app WORKDIR /src/app COPY package.json /src/app/package.json RUN npm install COPY . /src/app EXPOSE 3000 CMD ['npm', 'start']
我正在尝试使用上面的Dockerfile为Dockerizing nodejs应用程序完成katacoda.com练习。 构build完成,但立即运行图像退出,并在我看到的docker日志中:
/bin/sh: [npm,: not found
我试图用docker -it nodeapp /bin/bash
在docker -it nodeapp /bin/bash
运行容器,它引发了错误docker -it nodeapp /bin/bash
docker: Error response from daemon: oci runtime error: container_linux.go:262: starting container process caused "exec: \"/bin/bash\": stat /bin/bash: no such file or directory".
所以我不确定这里发生了什么。
它不工作的原因是单引号
CMD ['npm', 'start']
应该
CMD ["npm", "start"]
当你不使用双引号时,docker会删除单引号,并将命令处理为[npm, start]
这就是为什么你看到错误[npm,
找不到