Utilizzare PhantomJS anziché Chrome. Karma ha PhantomJS launcher.
PhantomJS basato su Blink.
Installare PhantomJS:
npm karma-phantomjs-launcher --save-dev
Aggiungi al Karma config:
module.exports = function(config) {
config.set({
browsers : ['PhantomJS']
});
};
EDIT
Qui fa parte od Dockerfile
ENV NODE_VERSION 0.12.7
ENV NPM_VERSION 3.5.1
ENV PHANTOM_JS phantomjs-1.9.8-linux-x86_64
# App and test
RUN set -x \
&& buildDeps='curl git bzip2 file libfreetype6 libfontconfig1 python-pip python-dev libpq-dev libmemcached-dev libzmq-dev libjpeg62-turbo-dev zlib1g-dev libtiff5-dev make g++ psmisc' \
&& apt-get update \
&& apt-get install -y $buildDeps --no-install-recommends \
&& rm -rf /var/lib/apt/lists/* \
&& curl -SLO "https://bitbucket.org/ariya/phantomjs/downloads/$PHANTOM_JS.tar.bz2" \
&& tar xvjf $PHANTOM_JS.tar.bz2 \
&& mv $PHANTOM_JS /usr/local/share \
&& ln -sf /usr/local/share/$PHANTOM_JS/bin/phantomjs /usr/local/bin \
&& curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-x64.tar.gz" \
&& curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
&& gpg --verify SHASUMS256.txt.asc \
&& grep " node-v$NODE_VERSION-linux-x64.tar.gz\$" SHASUMS256.txt.asc | sha256sum -c - \
&& tar -xzf "node-v$NODE_VERSION-linux-x64.tar.gz" -C /usr/local --strip-components=1 \
&& rm "node-v$NODE_VERSION-linux-x64.tar.gz" SHASUMS256.txt.asc \
&& npm install -g [email protected]"$NPM_VERSION" grunt-cli \
&& npm install \
&& npm cache clear \
&& ./node_modules/.bin/bower install --allow-root \
&& npm test \
&& apt-get purge -y --auto-remove $buildDeps \
&& rm -rf /usr/local/bin/node /usr/local/bin/npm /usr/local/include/node /usr/local/lib/node_modules \
&& rm -rf /usr/local/share/$PHANTOM_JS /usr/local/bin/phantomjs
In questo caso Docker ha creato uno strato. In questo strato
- installare librerie e strumenti (debian jessie)
- installare PhantomJS
- installare NodeJS
- eseguire prove
- rimuovere librerie e strumenti
- rimuovere NodeJS
- rimuovere PhantomJS
I test sono in esecuzione e PhantomJS non è presente nel contenitore di produzione.
fonte
2015-12-15 10:56:50
dai un'occhiata a https: // github.com/jfrazelle/dockerfiles/blob/master/chrome/stable/Dockerfile su Chrome – user2915097
Grazie a questo ho già letto il post sul blog, ma non chiarisce come procedere in questo caso. – MichaelJones
se si utilizza "Crea una nuova immagine che eredita dall'immagine della mia app e aggiunge Chrome e altre cose?", È necessario il supervisore https://docs.docker.com/engine/articles/using_supervisord/ o tale (s6, runit, demone tools ...) per gestire i tuoi processi – user2915097