docker - 无法运行官方Docker教程容器:npm ERR!缺少脚本:开始

标签 docker npm npm-scripts

这令人沮丧,但我在这里。
我正拼命尝试阅读Docker教程的part 2
这是我的问题:
为应用程序成功创建镜像后,我尝试使用命令行(sudo) docker run --publish 8000:8080 --detach --name bb bulletinboard:1.0来运行容器,并允许我通过localhost:8000访问该应用程序。
但是当 checkout docker ps时,什么都没有,所以我使用docker ps -a找回了我的容器,并使用STATUS Exited (1)进行了查找。
然后,我尝试docker logs bb来查找更多信息,并得到以下信息:npm ERR! missing script: start
知道它来自文档,这真是令人惊讶,我不知道下一步该怎么做。如果有人有任何线索,那就太好了。先感谢您

最佳答案

该错误消息表示npm无法找到包含名为start的脚本的package.json文件。因此,请确保您的package.json包含一个名为start的脚本!可能已经是问题了。

// Simple package.json example that contains a script with name test.
{
    "scripts": {
      "test": "echo \"Error: no test specified\" && exit 1"
    },
}
当您查看教程的dockerfile时:
这样可以确保命令在特定的文件夹中执行,例如复制文件:
# Set the working directory.
WORKDIR /usr/src/app
这确保将package.json文件复制到工作目录中:
# Copy the file from your host to your current location.
COPY package.json .
在这里,它定义了当您运行容器时将执行npm start:
# Run the specified command within the container.
CMD [ "npm", "start" ]
为了进一步研究,我将执行以下命令来启动容器:
docker run -it -d <container-id> /bin/sh
然后转到工作目录并检查是否可以手动启动该应用程序:
# Go to workdir
cd /usr/src/app
# Here check if the package.json is part of the directory.
ls
# Manually run npm script
npm start

关于docker - 无法运行官方Docker教程容器:npm ERR!缺少脚本:开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64525430/

相关文章:

windows - 如何在 Windows 和跨平台中为 git commit 消息在 npm 脚本中传递当前日期时间?

npm - Visual Studio Code - 使用 NPM 脚本时找不到 NPM

Docker:将镜像直接推送到 Pivotal Cloud Foundry

javascript - 如何在不安装的情况下使用 npm 软件包二进制文件

npm - Yarn 中的 "npm install <package_name> --save"相当于什么?

npm - 安装本地模块时忽略 .npmignore

javascript - 在 Windows 上运行并行 npm 脚本

docker build 忽略存储在我的卷中的现有数据和数据库配置

docker 纯粹从命令行构建

docker - Docker容器-Couchbase服务器节点内部IP地址