aku*_*ma8 3 maven docker spring-boot dockerfile
我想使用 Docker 容器内的 spring.io.starter 提供的 Maven 包装器构建一个 Spring Boot 应用程序。我的 Dockerfile 是:
FROM openjdk:8-jdk-alpine
# install bash --> commented because I just need /bin/sh which is already provided by the base image
#RUN apk add --no-cache bash
ENV APP_DIR /app
ENV APP app.jar
WORKDIR ${APP_DIR}
COPY . ${APP_DIR}
# ===> HERE THE PROBLEM
RUN /bin/sh -c "./mvnw clean install"
ENTRYPOINT ["java","-jar","chicowa-app.jar"]
EXPOSE 8080
Run Code Online (Sandbox Code Playgroud)
我有这个错误:
/bin/sh: ./mvnw: not found
Run Code Online (Sandbox Code Playgroud)
经过一些研究后我仍然没有找到解决方案。Docker version 18.06.1-ce, build e68fc7a我在 Windows10 pro 上的docker 版本
非常感谢你的帮助。
解决方案是直接使用 a 安装 maven RUN apk add --no-cache maven,但我想尽可能减小图像的大小。
小智 6
我们仅在 Windows 10 上试验此问题,并且仅通过应用 dos2unix 就能够解决此问题
dos2unix mvnw
Run Code Online (Sandbox Code Playgroud)
小智 5
在 Window 10 中构建 Dockerfile 时,我遇到了同样的问题。这是因为文件在行尾mvnw包含CRLF ( \r\n )。我用 Notepad++ 打开它并使用查找\r\n和替换为\n(选中扩展(\n,\r,...))。您可以使用 dos2unix 工具进行转换,如@Juanan 上面所说。
之后,构建运行没有问题。
| 归档时间: |
|
| 查看次数: |
11136 次 |
| 最近记录: |