我使用alpine基本映像创建docker文件并构建映像。该图像包含java:11和maven我也想包括gradle。我该怎么做
这是从Stackoverflow中获取的docker文件。
from alpine:3.10
run apk --no-cache add openjdk11 --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community
run apk add bash vim curl wget jq docker git tar unzip bash-completion ca-certificates
run cd /opt && curl -sSl http://mirror.vorboss.net/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz | tar -xz
env PATH "$PATH:/opt/apache-maven-3.6.3/bin"
entrypoint ["/bin/bash"]
更简单的版本,只使用当前最新的Alpine,它也有Maven 3.6.3的包和比上面更新的Gradle。当然,你可以摆弄这些版本。
FROM alpine:3.12.3
RUN apk --no-cache add openjdk11 --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community
RUN apk add bash vim curl wget jq docker git tar unzip bash-completion ca-certificates gradle maven
ENTRYPOINT ["/bin/bash"]
我刚刚从这里偷了东西:
FROM alpine:3.10
ENV GRADLE_VERSION 3.2
RUN apk --no-cache add openjdk11 --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community
RUN apk add bash vim curl wget jq docker git tar unzip bash-completion ca-certificates
RUN cd /opt && curl -sSl http://mirror.vorboss.net/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz | tar -xz
RUN apk -U add --no-cache curl;
curl https://downloads.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip > gradle.zip;
unzip gradle.zip;
rm gradle.zip;
apk del curl;
apk update && apk add --no-cache libstdc++ && rm -rf /var/cache/apk/*
ENV PATH "$PATH:/opt/apache-maven-3.6.3/bin:/gradle-${GRADLE_VERSION}/bin/"
ENTRYPOINT ["/bin/bash"]