Docker 中的 Nightwatch - selenium-server 找不到 chromedriver

Nightwatch in Docker - selenium-server can't find chromedriver

我正在尝试在 Docker 容器中启动 Nightwatch。

我收到来自 selenium-server 的错误消息,它基本上指出无法找到 chromedriver。我可以手动验证(我认为)它正在寻找的文件是否存在。

我创建了一个示例存储库来演示该问题:https://github.com/hvolschenk/nightwatch-docker

得到这个工作,不得不改变我的 Dockerfile 一点。

FROM openjdk:latest

RUN wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | apt-key add -
RUN echo 'deb http://dl.google.com/linux/chrome/deb/ stable main' >> /etc/apt/sources.list

RUN apt-get update
RUN apt-get install -y curl
RUN curl -sL https://deb.nodesource.com/setup_8.x | bash
RUN apt-get install -y nodejs

RUN apt-get install --no-install-recommends -y google-chrome-stable

WORKDIR /home/node/app

CMD ["npm", "test"]
EXPOSE 5555

因此,与从 node 图像添加 openjdk 不同,我将 node 添加到 openjdk 图像。

仍然不太清楚为什么之前的迭代不起作用,无论如何,必须继续前进。

编辑:

我还找到了一种从 node docker 图像 运行 使用以下 Dockerfile 的方法:

FROM node:carbon

RUN echo "deb http://http.debian.net/debian jessie-backports main" > /etc/apt/sources.list.d/jessie-backports.list
RUN apt-get update && apt-get install -t jessie-backports -y openjdk-8-jre

RUN wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | apt-key add -
RUN echo 'deb http://dl.google.com/linux/chrome/deb/ stable main' >> /etc/apt/sources.list
RUN apt-get update && apt-get install --no-install-recommends -y google-chrome-stable

ENV HOME /home/node/app
WORKDIR /home/node/app
VOLUME ["/home/node/app"]

RUN chown -Rv node:node /home/node/app
USER node

CMD ["npm", "test"]
EXPOSE 5555