从Dockerfile运行时在Docker中找不到命令



我正在尝试根据Dockerfile构建和运行docker。

代码是(在我克隆我的git仓库等之前):

sh 'docker build -t myimage .'
sh 'docker run myimage'

Dockerfile如下:

FROM node:12.2.0-alpine AS build
COPY . /frontend
WORKDIR /src
CMD apt-get update
CMD gradle build

docker build命令似乎是成功的,结果:

Successfully built 0329878899fc
Successfully tagged myimage:latest

但是当执行docker run命令时,它说:

+ docker run myimage
/bin/sh: gradle: not found
ERROR: script returned exit code 127

我试图删除CMD gradle,只保留CMD apt-get update,但它说apt-get not found.

如果我用RUN替换CMD,那么docker构建

Apt将不可用,因为您使用的是使用Apk包管理器的alpine Linux容器。

似乎默认情况下节点映像不包含Gradle,所以你必须使用RUN命令安装它。

您可以通过apt切换到基于debian的映像,或者通过搜索用于Alpine linux的Gradle包来完成此操作

最新更新