当 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 包来完成此操作
我正在尝试根据 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 包来完成此操作