2017-10-03 4 views
1

Je voulais dockeriser les tests galenframework. Voici ce que j'ai actuellement:Dockerize framework tests "Échec de l'exécution"

DockerFile

FROM node:8.6 
RUN mkdir -p /usr/src/galen 
WORKDIR /usr/src/galen 
COPY package.json /usr/src/galen/ 
RUN npm install 
COPY . /usr/src/galen 

docker-compose.yml

version: '2' 
services: 
    galenframework: 
    build: 
     context: . 
     dockerfile: Dockerfile 
    volumes: 
     - .:/usr/src/galen 

package.json

{ 
    "name": "docker_galen", 
    "version": "1.0.0", 
    "description": "Node.js on Docker with Galen", 
    "dependencies": { 
    "galenframework-cli": "2.3.5" 
    } 
} 

après l'exécution docker-compose up -d je suis l'erreur suivante:

info Install exited unexpectedly npm info lifecycle [email protected]~postinstall: Failed to exec postinstall script npm WARN [email protected] No repository field. npm WARN [email protected] No license field. npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! [email protected] postinstall: node postinstall.js npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the [email protected] postinstall script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

Comment puis-je résoudre ce problème?

+0

J'ai essayé de rerruning ce sur l'image alpine java 8 parce que je pensais que cette erreur pourrait être liée à la dépendance java, donc la première ligne de DockerFile changé 'FROM java: 8-jdk-alpine Exécuter set -ex && \ apk mise à jour --update && \. Cela n'a pas aidé ... apk add --update nodejs' – ikari2k

+0

Essayez de changer 'npm install' avec' yarn install' et voyez si ça aide. Souvenez-vous également que le mappage de volume '.:/Usr/src/galen' va remplacer tous les modules node_modules que vous avez installés dans le dockerfile –

Répondre

1

Vous avez besoin de Java pour exécuter Galen, ce qui devrait travailler

FROM java:8 

ENV NVM_DIR /usr/local/nvm 
ENV NODE_VERSION 6.11.4 
ENV GALEN_VERSION 2.3.5 

# Install nvm with node and npm 
RUN curl https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash \ 
    && . $NVM_DIR/nvm.sh \ 
    && nvm install $NODE_VERSION \ 
    && nvm alias default $NODE_VERSION \ 
    && nvm use default \ 
    && npm install -g [email protected]$GALEN_VERSION 

ENV NODE_PATH $NVM_DIR/v$NODE_VERSION/lib/node_modules 
ENV PATH  $NVM_DIR/v$NODE_VERSION/bin:$PATH 
+0

Merci, ça a marché! Maintenant, je vais essayer de minimiser l'image ... Peut-être utiliser alpin: P – ikari2k

+0

vous pouvez rencontrer des problèmes avec noeud et alpin – hypery2k