当前位置: 首页 > 知识库问答 >
问题:

应用程序与docker compose进行交互

章宏恺
2023-03-14

我正在使用docker compose创建一个react应用程序。Dockerfile文件和docker文件组成。yml已创建,但生成应用程序时出错。

Dockerfile

FROM node:8
WORKDIR /usr/src/app
RUN npm ci
EXPOSE 3000
# start app
CMD ["npm", "start"]

docker-compose.yml

version: "3.3"
services:
  app:
    container_name: react_app
    build:
      context: .
      dockerfile: Dockerfile
    volumes:
      - ./app:/usr/src/app
      - /usr/src/app/node_modules
    ports:
      - '3000:3000'
    stdin_open: true
    environment:
      - NODE_ENV=development

文件夹体系结构是:

docker撰写。yml docker应用程序/软件包。json应用程序/src/

执行docker compose up-d--build命令时,会出现以下错误。

构建应用程序步骤1/5:来自节点:8---

npm ERR!此运行的完整日志可以在以下位置找到:npm ERR!
/root/.npm/_logs/2020-10-25T19_38_16_569Z-debug.log错误:服务应用程序构建失败:命令/bin/sh-c npm ci返回非零代码:254

共有1个答案

鲜于德业
2023-03-14

您必须将项目文件复制到docker容器的内部。下面的代码将有助于解决您的问题。

FROM node:8
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm ci
COPY . .
EXPOSE 3000
# start app
CMD ["npm", "start"]
 类似资料:
  • 问题内容: 在PyCharm中,运行脚本后,它会自动将其杀死: C:\ Users \ Sean.virtualenvs \ Stanley \ Scripts \ python.exe C:/Users/Sean/PycharmProjects/Stanley/Stanley.py 流程结束,退出代码为0 脚本启动后如何与之交互?由于缺少更好的措辞方式,我该如何获取 脚本运行一次后提示? PyC

  • 问题内容: 我需要能够运行外部应用程序并与之交互,就像从命令行手动运行它一样。我发现的所有示例仅涉及运行程序和捕获输出。 下面是一个非常简单的示例,希望该示例说明我要完成的工作。 我试图调整各种示例,发现这些示例以零成功实现了这一目标。看起来,即使“ rm”正在等待响应,Go仍会关闭该过程。 您可以提供的任何示例,文章或建议,将不胜感激。提前谢谢了。 问题答案: 您有两种可能性。首先是使用Read

  • 在Spark bin目录下的spark-submit可以用来在集群上启动应用程序。它可以通过统一的接口使用Spark支持的所有集群管理器 ,所有你不必为每一个管理器做相应的配置。 用spark-submit启动应用程序 bin/spark-submit脚本负责建立包含Spark以及其依赖的类路径(classpath),它支持不同的集群管理器以及Spark支持的加载模式。 ./bin/spark-s

  • 介绍 如果我们为了与合约进行(测试)交互而向每次都向以太坊网络进行原始请求,我们很快就会意识到编写这些请求是笨重而繁琐的。 同样,我们可能会发现管理每个请求的状态是 复杂的。 幸运的是,Truffle为我们处理这种复杂性,使我们与合约的互动变得轻而易举。 数据的读和写 以太坊网络区分将数据写入网络和从网络读取数据,在编写应用程序我们需要关注这个区别。 通常,写入数据称为交易 transaction

  • 本章包含了许多可以在Python使用原生代码(主要是C/C++)方式的介绍,这个过程通常被称为封装。本章的目的是给你有哪些技术存在已经各自有优劣式的一点儿感觉,这样你可以根据你的具体需求选择适合的方式。无论如何,只要你开始做封装,你几乎都必然需要咨询你选定技术的文档。 2.8.1 简介 本章将涵盖一下技术: Python-C-Api Ctypes SWIG (简化封装器和接口生成器) Cython

  • 问题内容: 我通常使用java.lang.ProcessBuilder和java.lang.Process来运行外部命令行程序,并且对运行和完成命令运行良好。例如,这将在工作目录中运行带有参数“ myArg”的“ myProgram”: 但是,假设我想运行脚本或程序或具有交互式输入的内容(启动后提示我提供更多输入)。我可以使用与上面类似的代码在Java中执行此操作,还是需要其他方法?还是有一些图书