首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >docker-compose.yml发行nodejs和mysql

docker-compose.yml发行nodejs和mysql
EN

Stack Overflow用户
提问于 2018-07-05 09:01:32
回答 1查看 613关注 0票数 0

我试图修改我的nodeJS api。请查看以下文件:

.\package.json

代码语言:javascript
复制
{
  "name": "test-api",
  "version": "1.0.0",
  "description": "TBD",
  "scripts": {
    "start": "node ./bin/www"
  },
  "keywords": [
    "test",
    "API"
  ],
  "author": "test",
  "dependencies": {
    "bcrypt": "^2.0.1",
    "bcrypt-promise": "^2.0.0",
    "body-parser": "^1.18.3",
    "debug": "^3.1.0",
    "dotenv": "^6.0.0",
    "express": "^4.16.3",
    "jsonwebtoken": "^8.3.0",
    "morgan": "^1.9.0",
    "multer": "^1.3.1",
    "mysql2": "^1.5.3",
    "nodemailer": "^4.6.7",
    "parse-error": "^0.2.0",
    "passport": "^0.4.0",
    "passport-jwt": "^4.0.0",
    "sequelize": "^4.37.10",
    "validator": "^10.4.0"
  }
}

.\docker-compose.yml

代码语言:javascript
复制
version: '2'
services:
  api:
    build: .
    ports:
     - "4200:4200"
    depends_on:
     - db
    environment:
     - DATABASE_HOST=db
    volumes:
     - .:/usr/src/app
     - /usr/src/app/node_modules
  db:
    build: ./db

.\Dockerfile

代码语言:javascript
复制
FROM node:8
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 4200
CMD [ "npm", "start" ]

.\db\Dockerfile

代码语言:javascript
复制
FROM mysql:latest

ENV MYSQL_ROOT_PASSWORD root  
ENV MYSQL_DATABASE test_dev  
ENV MYSQL_USER test-dev  
ENV MYSQL_PASSWORD testapi

当我做“码头-合成”时,我会得到以下错误-

我对此非常陌生,解决这个问题的解决方案和关于研究更多的内容的建议很少会对我帮助很大!

EN

回答 1

Stack Overflow用户

发布于 2018-07-05 09:12:55

尝试使用此Dockerfile (避免复制*),我建议在目标中使用绝对路径:

.\Dockerfile

代码语言:javascript
复制
FROM node:8
COPY package.json /usr/src/app
WORKDIR /usr/src/app
RUN npm install
COPY . .
EXPOSE 4200
CMD [ "npm", "start" ]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51187262

复制
相关文章

相似问题

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