Hello, good morning, I have a query about DOCKERFILE.
I understand that DOCKERFILE always starts from a base IMAGE (FATHER) , on which I add sentences, files, etc. to create a NEW IMAGE , with which I can create my CONTAINER.
In my case I want to create a base IMAGE (FATHER), to REUSE IT in my other CONTAINERS. This base IMAGE must have: UBUNTU + MAVEN + GRALVM. It would be nice if you create it like this:
FROM ubuntu:18.04
RUN apt-get update
RUN apt-get install maven -y
RUN mvn -version
RUN apt-get install sudo -y
RUN apt-get install nano -y
RUN apt-get install curl -y
RUN apt-get install wget -y
RUN apt-get install siege -y
WORKDIR /usr/jvm/
RUN wget https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-21.0.0.2/graalvm-ce-java8-linux-amd64-21.0.0.2.tar.gz -P /usr/jvm/
RUN tar -xf /usr/jvm/graalvm-ce-java8-linux-amd64-21.0.0.2.tar.gz
RUN update-alternatives --install /usr/bin/java java /usr/jvm/graalvm-ce-java8-21.0.0.2/bin/java 1100
RUN update-alternatives --set java /usr/jvm/graalvm-ce-java8-21.0.0.2/bin/java
RUN update-alternatives --list java
RUN java -version
ENV JAVA_HOME=/usr/jvm/graalvm-ce-java8-21.0.0.2
RUN rm /usr/jvm/graalvm-ce-java8-linux-amd64-21.0.0.2.tar.gz
RUN rm -r /usr/jvm/graalvm-ce-java8-21.0.0.2
RUN rm -rf ~/.local/share/Trash/*
Luego, ejecuto para CREAR la IMAGEN:
$ docker build -t ubuntu-maven-graalvm:v1.0 .
What I want to know is if what I have done is going to work for me when I want to create a NEW DOCKERFILE, with my IMAGE as a base with EVERYTHING I need. Something like that:
FROM maktup/ubuntu-maven-graalvm:v1.0
RUN echo $JAVA_HOME
RUN java -version
Please comment to me, thank you.
Greetings.