无法使用 gradlew 命令构建 Docker 图像
Unable to Build Docker Image with gradlew Command
我正在尝试在 Dockerfile
中构建具有以下命令的 docker 图像
FROM openjdk:13-jdk-alpine AS builder
WORKDIR /app-build
ADD . .
RUN pwd
RUN ./gradlew console:build
RUN ls /app-build/console/build/libs/
它退出并显示以下消息
/bin/sh: ./gradlew: not found
The command '/bin/sh -c ./gradlew console:build' returned a non-zero code: 127
我不确定 openjdk:13-jdk-alpine
的图像中已经包含什么,但是如果还没有包含 ./gradlew
可执行文件,您将需要仔细检查行 ADD . .
在你的 Dockerfile
实际上是复制到文件 ./gradlew
.
./gradlew
是否本地存储在与您的 Docker 文件相同的路径中? ADD . .
将获取您 Docker 文件路径中的所有文件并将其复制到您的自定义图像中。
另一种检查您是否正在复制正确文件的方法是构建图像,然后使用 docker exec
命令手动检查您的自定义 Docker 中有哪些文件图片。
我将使用以下命令来执行此操作:docker exec -it <name_of_docker_image> bash
您需要在 docker 构建命令中放置您的 docker 文件所在的本地目录路径和代码仓库的路径
docker build -f /home/ubuntu/your_project_repo/Dockerfile /home/ubuntu/your_project_repo/
我正在尝试在 Dockerfile
中构建具有以下命令的 docker 图像FROM openjdk:13-jdk-alpine AS builder
WORKDIR /app-build
ADD . .
RUN pwd
RUN ./gradlew console:build
RUN ls /app-build/console/build/libs/
它退出并显示以下消息
/bin/sh: ./gradlew: not found
The command '/bin/sh -c ./gradlew console:build' returned a non-zero code: 127
我不确定 openjdk:13-jdk-alpine
的图像中已经包含什么,但是如果还没有包含 ./gradlew
可执行文件,您将需要仔细检查行 ADD . .
在你的 Dockerfile
实际上是复制到文件 ./gradlew
.
./gradlew
是否本地存储在与您的 Docker 文件相同的路径中? ADD . .
将获取您 Docker 文件路径中的所有文件并将其复制到您的自定义图像中。
另一种检查您是否正在复制正确文件的方法是构建图像,然后使用 docker exec
命令手动检查您的自定义 Docker 中有哪些文件图片。
我将使用以下命令来执行此操作:docker exec -it <name_of_docker_image> bash
您需要在 docker 构建命令中放置您的 docker 文件所在的本地目录路径和代码仓库的路径
docker build -f /home/ubuntu/your_project_repo/Dockerfile /home/ubuntu/your_project_repo/