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