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
我正在尝试在 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