当 Docker 文件中的 运行 时,在 Docker 中找不到命令

Command not found in Docker when running from Dockerfile

我正在尝试根据 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 构建命令似乎成功,结果:

Successfully built 0329878899fc
Successfully tagged myimage:latest

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

    + docker run myimage
    /bin/sh: gradle: not found

ERROR: script returned exit code 127

我试图删除 CMD gradle 并只保留 CMD apt-get update,但它显示 apt-get not found。

如果我将 CMD 替换为 RUN,则 docker build 不会执行并显示相同的错误。

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

默认情况下节点映像似乎不包含 Gradle,因此您必须使用 运行 命令安装它。

您可以通过 apt 切换到基于 debian 的映像,或者通过搜索 Alpine linux

的 Gradle 包来完成此操作