我试图在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

因此,与从openjdk图像中添加node相反,我将node添加到openjdk图像中。

仍然不确定为什么以前的迭代不起作用,无论如何,都必须继续前进。

编辑:

我还找到了一种使用以下Dockerfile从node Docker镜像运行此方法的方法:
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

关于docker - Docker中的Nightwatch- Selenium 服务器找不到chromedriver,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49859869/

10-12 00:23