首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >码头集装箱建设过程中Npm安装错误

码头集装箱建设过程中Npm安装错误
EN

Stack Overflow用户
提问于 2018-10-30 18:07:07
回答 1查看 337关注 0票数 0

我为我的nodejs web应用程序创建了非常简单的docker文件:

代码语言:javascript
运行
复制
FROM node:8.11.4
FROM mysql:latest

WORKDIR /ess-explorer
COPY . .

RUN npm install

RUN cd config && cp config.json.example config.json && cp database.json.example database.json && cd ../

RUN npm run migrate

EXPOSE 3000
CMD ["npm", "dev"]

docker.yml

代码语言:javascript
运行
复制
version: '3'
services:

  essblockexplorer:
    container_name: ess-explorer
    build: .
    depends_on:
      - db
    privileged: true
    ports:
       - 3000:3000
       - 3010:3010

  db:
    container_name: mysql
    image: mysql
    restart: always
    volumes:
       - db-data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: '123'

volumes:
  db-data:

在命令docker-compose -f docker.yml build每一次,我有一个错误,Step 5/9 : RUN npm install ---> Running in d3644d792807 /bin/sh: 1: npm: not found ERROR: Service 'essblockexplorer' failed to build: The command '/bin/sh -c npm install' returned a non-zero code: 127,我做错了什么?我发现了类似的问题,但我没有找到解决这个问题的真正办法

EN

Stack Overflow用户

回答已采纳

发布于 2018-10-30 18:23:47

您根本不需要Dockerfile中的mysql映像;理想情况下,应用程序容器(essblockexplorer)通过NodeJS客户端访问db容器(db)。你所需要做的就是;

  1. 从您的Dockerfile中删除FROM mysql:latest行。
  2. 使用( MySQL )作为主机名通过NodeJS客户机访问NodeJS数据库(这将自动作为别名加载到容器中)。
票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53070369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档