Dockerize framework tests "Failed to exec"

142 Views Asked by At

I wanted to dockerize galenframework tests. Here is what I have currently:

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"
  }
}

after running docker-compose up -d I get following error:

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.

How can I fix this?

1

There are 1 best solutions below

2
On BEST ANSWER

You need Java to run Galen, so this should work

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 galenframework-cli@$GALEN_VERSION

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