Dockerize 框架测试“执行失败”
Posted
技术标签:
【中文标题】Dockerize 框架测试“执行失败”【英文标题】:Dockerize framework tests "Failed to exec" 【发布时间】:2018-03-14 16:48:41 【问题描述】:我想 dockerize galenframework 测试。这是我目前拥有的:
Docker 文件
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"
运行docker-compose up -d
后出现以下错误:
info 安装意外退出 npm info 生命周期 galenframework-cli@2.3.5~postinstall: 执行 postinstall 失败 script npm WARN docker_galen@1.0.0 没有存储库字段。 npm 警告 docker_galen@1.0.0 没有许可证字段。 npm 错误!代码 ELIFECYCLE npm 错误! errno 1 npm 错误! galenframework-cli@2.3.5 安装后:节点 postinstall.js npm 错误!退出状态 1 npm ERR! npm 错误!失败了 galenframework-cli@2.3.5 安装后脚本。 npm 错误!这大概是 npm 没问题。可能有额外的日志输出 以上。
我该如何解决这个问题?
【问题讨论】:
我尝试在 java 8 alpine 映像上重新运行此错误,因为我认为此错误可能与 java 依赖有关,因此 DockerFile 的第一行更改为FROM java:8-jdk-alpine RUN set -ex && \ apk upgrade --update && \ . That did not help... apk add --update nodejs
尝试将npm install
更改为yarn install
,看看是否有帮助。还要记住.:/usr/src/galen
卷映射将覆盖您在 dockerfile 中安装的所有 node_modules
【参考方案1】:
你需要 Java 来运行 Galen,所以这应该可以工作
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
【讨论】:
谢谢,成功了!现在我将尝试最小化图像......也许使用高山:P 你可能会遇到 node 和 alpine 的问题以上是关于Dockerize 框架测试“执行失败”的主要内容,如果未能解决你的问题,请参考以下文章