首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带码头的Nightmare.js

带码头的Nightmare.js
EN

Stack Overflow用户
提问于 2016-06-10 19:08:02
回答 3查看 2.2K关注 0票数 5

我试图在服务器上运行Nightmare.js。我很清楚,它在Linux上是无头的,并且需要xvfb。我不明白的是,为什么在调试模式下继续得到以下错误:

代码语言:javascript
复制
  nightmare queuing process start +0ms
  nightmare queueing action "useragent" +3ms
  nightmare queueing action "goto" for https://news.ycombinator.com +2ms
  nightmare queueing action "cookies" +1ms
  nightmare queueing action "goto" for https://news.ycombinator.com/login +0ms
  nightmare queueing action "type" +1ms
  nightmare queueing action "type" +0ms
  nightmare queueing action "click" +0ms
  nightmare queueing action "wait" +1ms
  nightmare queueing action "goto" for https://news.ycombinator.com/item?id=11878025 +0ms
  nightmare queueing action "click" +0ms
  nightmare queueing action "wait" +1ms
  nightmare running +0ms
  nightmare electron child process exited with code 2: undefined +25ms

这是我的Dockerfile:

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

RUN apt-get update &&\
    apt-get install -y \
    xvfb \
    x11-xkb-utils \
    xfonts-100dpi \
    xfonts-75dpi \
    xfonts-scalable \
    xfonts-cyrillic \
    x11-apps \
    clang \
    libdbus-1-dev \
    libgtk2.0-dev \
    libnotify-dev \
    libgnome-keyring-dev \
    libgconf2-dev \
    libasound2-dev \
    libcap-dev \
    libcups2-dev \
    libxtst-dev \
    libxss1 \
    libnss3-dev \
    gcc-multilib \
    g++-multilib

RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

COPY . /usr/src/app

RUN npm install

CMD DEBUG=nightmare* xvfb-run --server-args="-screen 0 1024x768x24" node tux.js -s hn -m create -p 11878025

有什么想法吗?我们将非常感谢您的帮助。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-06-17 08:56:19

您可以做的是将所有文件放在一个子目录中,例如app/和您的Dockerfile中:

代码语言:javascript
复制
ADD app/ /usr/src/app/

当然,在您的应用程序文件夹中会有env.sh、package.json、tux.js和lib目录。

这样,如果需要添加更多文件,就不必在dockerfile中手动添加它们。

PS:它也适用于复制。

票数 3
EN

Stack Overflow用户

发布于 2016-06-15 18:27:52

好吧,所以我知道问题出在哪里了。显然,它不喜欢我的Dockerfile中的复制语法。最后我使用了ADD,它起了作用。

代码语言:javascript
复制
ADD /lib /usr/src/app/lib
ADD env.sh /usr/src/app
ADD package.json /usr/src/app
ADD tux.js /usr/src/app
票数 1
EN

Stack Overflow用户

发布于 2016-06-13 18:27:40

读取undefined的错误表明您丢失了一个包。毕竟,如果没有安装包,那么如何定义它呢?这意味着你没有正确地建造集装箱,我想我看到了罪魁祸首。

代码语言:javascript
复制
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

*COPY . /usr/src/app*

RUN npm install

根据文件的文档,复制命令复制文件,而不是您用COPY . /usr/src/app指定的目录。相反,尝试将.替换为*,因为这将指定您决定从当前目录中启动docker build的所有文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37755563

复制
相关文章

相似问题

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