Quarkus

Quarkus Projesini Dockerize Etmek Docker İÇerisinde Çalıştırmak

Quarkus Dersleri‘ne devam ediyorum.

Quarkus Uygulamamızı Dockerize edeceğiz yani Docker içerisinde Quarkus uygulamamızı entegre edip. Quarkus projemizi Dokcer içerisinden çalıştırabileceğiz ve örnek uygulama yapacağız.

Quarkus Örneğimizin adı quarkus-ornek-uygulama bu Quarkus uygulamam

@Path("/")
public class Merhaba {

    @GET
    @Produces(MediaType.TEXT_PLAIN)
    public String hello() {
        return "merhaba dünya";
    }
}

Quarkus uygulamasını code.quarkus.com ya da herhangi bir ide yardımı ile oluşturduysak src/main/docker klasörünün altında bu docker.file otomatik olarak oluşmaktadır. Eğer böyle bir dosya göremiyorsanız aşağıdaki kodu alabilirsiniz.

Docker Dosyası


####
# This Dockerfile is used in order to build a container that runs the Quarkus application in JVM mode
#
# Before building the container image run:
#
# ./mvnw package
#
# Then, build the image with:
#
# docker build -f src/main/docker/Dockerfile.jvm -t quarkus-ornek-uygulama-jvm .
#
# Then run the container using:
#
# docker run -i --rm -p 8080:8080 quarkus/quarkus-ornek-uygulama
#
# If you want to include the debug port into your docker image
# you will have to expose the debug port (default 5005) like this :  EXPOSE 8080 5050
#
# Then run the container using :
#
# docker run -i --rm -p 8080:8080 -p 5005:5005 -e JAVA_ENABLE_DEBUG="true" quarkus/quarkus-ornek-uygulama-jvm
#
###
FROM registry.access.redhat.com/ubi8/ubi-minimal:8.3 

ARG JAVA_PACKAGE=java-11-openjdk-headless
ARG RUN_JAVA_VERSION=1.3.8
ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en'
# Install java and the run-java script
# Also set up permissions for user `1001`
RUN microdnf install curl ca-certificates ${JAVA_PACKAGE} \
    && microdnf update \
    && microdnf clean all \
    && mkdir /deployments \
    && chown 1001 /deployments \
    && chmod "g+rwX" /deployments \
    && chown 1001:root /deployments \
    && curl https://repo1.maven.org/maven2/io/fabric8/run-java-sh/${RUN_JAVA_VERSION}/run-java-sh-${RUN_JAVA_VERSION}-sh.sh -o /deployments/run-java.sh \
    && chown 1001 /deployments/run-java.sh \
    && chmod 540 /deployments/run-java.sh \
    && echo "securerandom.source=file:/dev/urandom" >> /etc/alternatives/jre/lib/security/java.security

# Configure the JAVA_OPTIONS, you can add -XshowSettings:vm to also display the heap size.
ENV JAVA_OPTIONS="-Dquarkus.http.host=0.0.0.0 -Djava.util.logging.manager=org.jboss.logmanager.LogManager"
COPY target/lib/* /deployments/lib/
COPY target/*-runner.jar /deployments/app.jar

EXPOSE 8080
USER 1001

ENTRYPOINT [ "/deployments/run-java.sh" ]

Docker Build Etmek ve Çalıştırmak


Quarkus uygulamamızın Docker buildini yapalım.

docker build -f src/main/docker/Dockerfile.jvm -t quarkus/quarkus-ornek-uygulama .

Şimdi ise çalıştıralım.

docker run -i --rm -p 8080:8080 quarkus/quarkus-ornek-uygulama

Sonraki Quarkus Dersleri’nde görüşmek üzere.


Önceki Ders: Quarkus Dependency Injection
Quarkus Dersleri
Sonraki Ders: Quarkus @Bean Scope Çeşitleri

More in:Quarkus

Bunlara Gözat

Yorum Yaz

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir