首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用NodeJS和Docker Compose with volumes?

如何使用NodeJS和Docker Compose with volumes?
EN

Stack Overflow用户
提问于 2018-01-05 07:15:22
回答 2查看 830关注 0票数 0

我正在尝试让它与docker-compose和volumes一起工作nodejs,我想编辑我的代码,这就是我应该使用volumes的原因。

当我没有将卷放到docker-compose.yml文件中时,它工作了!但是有了体积就没有功了。

有什么想法吗?

这是我的docker-compose.yml:

代码语言:javascript
复制
version: "3.2"
services:
 node:
   container_name: node_app
     build:
      context: ./
      dockerfile: dockerfiles/Dockerfile
     user: "node"
     environment:
       - NODE_ENV=production
     volumes:
       - .:/home/app
     ports:
       - "3000:3000"

这是我的Dockerfile:

代码语言:javascript
复制
FROM node:carbon-stretch
WORKDIR /home/app
COPY package*.json ./
RUN npm i express -S
COPY . .
EXPOSE 3000
CMD [ "npm", "start" ]

这是我的package.json:

代码语言:javascript
复制
{
  "name": "docker_web_app",
  "version": "1.0.0",
  "description": "Node.js on Docker",
  "author": "First Last <test@gmail.com>",
  "main": "server.js",
  "scripts": {
     "start": "node server.js"
   }
 }

这是我的server.js:

代码语言:javascript
复制
'use strict'
 const express = require('express')

 // Constants
 const PORT = 3000
 const HOST = '0.0.0.0'

 // App
 const app = express()
 app.get('/', (req, res) => {
   res.send('Hello world\n')
 });

 app.listen(PORT, HOST)
 console.log(`Running on http://${HOST}:${PORT}`)

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2018-01-05 23:52:29

问题是,当您将文件夹.挂载到/home/app上时,/home/app中的所有内容都会被主机上的.内容所掩盖。这有效地删除了RUN npm i express -S引入的东西

为了解决这个问题,你需要将你想要编辑的代码隔离到一个单独的文件夹中(如果已经不是这样的话)

代码语言:javascript
复制
volumes:
  - ./code:/home/app/code
票数 2
EN

Stack Overflow用户

发布于 2018-01-05 12:19:57

尝试将docker-compose文件解析为有效的yaml格式,您可以重试:

代码语言:javascript
复制
version: "3.2"
services:
 node:
     container_name: node_app
     build:
      context: ./
      dockerfile: dockerfiles/Dockerfile
     user: "node"
     environment:
       - NODE_ENV=production
     volumes:
       - .:/home/app
     ports:
       - "3000:3000"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48104968

复制
相关文章

相似问题

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