如何在docker构建期间启动chrome?

时间:2018-07-03 17:24:54

标签: node.js reactjs selenium docker selenium-chromedriver

我正在尝试在docker映像的构建过程中启动chrome,以最终在docker映像构建期间为我的react项目运行端到端测试。

我只想知道这是否可能?我发现了无数示例,这些示例显示了如何创建chrome的docker映像,但是在构建过程本身无法启动chrome。

我在dockerfile中下载了node,npm,chr​​omedriver和google chrome。我在尝试构建它时遇到的错误是:

Starting ChromeDriver on port 9515... Error: ChromeDriver process exited with code: 126 /src/src/e2e/etc/bin/chromedriver: /src/src/e2e/etc/bin/chromedriver: cannot execute binary file

我不确定自己在做什么错。我的e2e测试在本地运行得很好,所以我不确定这里缺少什么。

这是我的Dockerfile

FROM selenium/standalone-chrome:latest

USER root

# replace shell with bash so we can source files
RUN rm /bin/sh && ln -s /bin/bash /bin/sh

RUN ls

RUN apt-get update -qq

RUN apt-get install -y -qq wget xvfb unzip curl

# nvm environment variables
ENV NVM_DIR /usr/local/nvm
ENV NODE_VERSION 8.9.4

# install nvm
# https://github.com/creationix/nvm#install-script
RUN curl --silent -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.5/install.sh | bash

# install node and npm
RUN source $NVM_DIR/nvm.sh \
    && nvm install $NODE_VERSION \
    && nvm alias default $NODE_VERSION \
    && nvm use default

# add node and npm to path so the commands are available
ENV NODE_PATH $NVM_DIR/v$NODE_VERSION/lib/node_modules
ENV PATH $NVM_DIR/versions/node/v$NODE_VERSION/bin:$PATH

# confirm installation
RUN node -v
RUN npm -v

COPY . /src

WORKDIR /src/src

RUN npm install \
    && npm rebuild node-sass --force \
    && npm run test \
    && npm run build \

0 个答案:

没有答案