首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否必须启动节点码头集装箱以满足我们的需要?

是否必须启动节点码头集装箱以满足我们的需要?
EN

Stack Overflow用户
提问于 2018-01-17 17:45:25
回答 2查看 1K关注 0票数 0

我不知道我的问题是否愚蠢,但经过几个小时的绞尽脑汁,我更愿意问你。

我试图在Docker容器 (windows)上运行NPM。我不想要一个真正的“节点服务器”;我只是使用NPM来运行诸如gulp、webpack、browserify、vue.js等实用工具。

因此,我在我的./docker-compose.yml文件中添加了以下内容:

代码语言:javascript
运行
复制
services:    
  node:
    build: docker/node
    environment:
      - NODE_ENV=dev

在此之前,我脑子里的一切听起来都很好。下面是我的./docker/node/Dockerfile的内容:

代码语言:javascript
运行
复制
# See https://github.com/nodejs/docker-node#dockerfile
FROM node:6

EXPOSE 8080

USER node

# set the working directory
RUN mkdir /home/node/app
WORKDIR /home/node/app

# delete existing modules and re-install dependencies
COPY package.json /home/node/app/package.json
RUN rm -rf node_modules
RUN npm install

# launch the app
# EDIT : I removed this line to solve the issue. See answer.
CMD  ["npm", "start"]

为了创建它,我只是遵循官方教程。然后,这里是我的./docker/node/package.json文件:

代码语言:javascript
运行
复制
{
  "name": "custom-symfony-project",
  "version": "1.0.0",
  "dependencies": {
    "gulp": "^4.0.0"
  },
  "devDependencies": {
    "gulp": "^4.0.0"
  }
}

我还有3个容器: PHP、MySQL和NGINX,但是它们都是独立的,并且它们的启动都是正确的,所以我不认为它们是问题的痛苦所在。

所以我运行了我的docker-compose build:一切都很好。

但是当我运行docker-compose start时,我在节点容器日志中找到了一些东西:

代码语言:javascript
运行
复制
npm ERR! missing script: start

我试图添加一个空的server.js,但是容器没有启动。

,所以我的问题是:我真的需要开始什么吗?我需要server.js吗?我不知道该怎么做。

当我在Ubuntu中使用npm时,我从来没有指定过一个开始脚本..!

谢谢!

EN

Stack Overflow用户

回答已采纳

发布于 2018-01-18 21:37:55

只要容器支持的进程正在运行和容器只能运行一个进程。,容器就可以运行。在您的示例中,您将移除CMD行,它启动容器支持的进程,因此容器没有什么可做的,只是立即关闭。

您应该将您的Docker容器看作一个进程,而不是VM (虚拟机)。VM将加载Node和其他依赖项,并且随时准备在登录到它时运行命令,但是容器会旋转起来运行一个命令,然后关闭。

听起来你想让这个容器旋转,运行Gulp,然后关闭。如果是这样的话,您可以使用这样的CMD行(假设您在Dockerfile中全局安装gulp ):

代码语言:javascript
运行
复制
CMD ['gulp']

或者您想让它旋转起来,并使用gulp-watch监视更改?在这种情况下,CMD应该是这样的:

代码语言:javascript
运行
复制
CMD ['gulp', 'watch']

如果使用这两个选项,请注意,除非使用绑定安装,否则Gulp将在容器中构建文件,而不是在主机文件系统上构建文件。绑定挂载将允许主机文件系统与容器共享目录,并方便对文件进行单向或双向更新。

票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48307048

复制
相关文章

相似问题

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