Рубрики
Без рубрики

Как создавать микросервисы с помощью Spring Boot и AWS с помощью Fargate и DOCKER – Часть 2

Что такое Docker? Docker – это набор платформенных продуктов в качестве сервисов, в которых используется виртуализация… С тегами spring, java, aws, docker.

Docker – это набор платформенных продуктов в качестве сервисов, который использует виртуализацию на уровне операционной системы для предоставления нам программного обеспечения, называемого “контейнерами”. Контейнеры изолированы друг от друга и представляют собой группу программного обеспечения, библиотек и архивов конфигурации.

теперь, используя вашу учетную запись docker hub, давайте создадим репозиторий!

Что ж, теперь у нас есть общедоступный репозиторий

теперь войдите в приложение docker hub, если вы используете Linux, используйте приведенную ниже команду в терминале:

docker login -u {you_username}, нажмите enter и введите свой пароль.

теперь вам следует создать архив с именем “Dockerfile” в корневом каталоге и написать эти команды:

FROM openjdk:15
VOLUME /tmp
ARG DEPENDENCY=target/dependency
COPY ${DEPENDENCY}/BOOT-INF/lib /app/lib
COPY ${DEPENDENCY}/META-INF /app/META-INF
COPY ${DEPENDENCY}/BOOT-INF/classes /app
ENTRYPOINT ["java","-cp","app:app/lib/*", "com.spiet.aws_spring01.AwsSpring01Application"]

obs: измените com.spieth. Aws… в ваш пакет с классом инициализации

Редактирование build.gradle

Во-первых, нам нужно добавить сценарий сборки, чтобы выполнить сборку перед загрузкой приложения в изображение

buildscript {
    ext {
        springBootVersion = '2.5.6'
    }

    repositories {
        mavenCentral()
        maven {
            url "https://plugins.gradle.org/m2/"
        }
    }

    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
        classpath("gradle.plugin.com.palantir.gradle.docker:gradle-docker:0.22.2")
    }
}

obs: видите, что мне нужны зависимости palantir.gradle.докер в скрипте сборки, поэтому в сеансах плагина ниже нам также нужно добавить идентификатор ‘com.palantir.docker’ версии ‘0.22.2’.

затем, ниже в группе: измените группу на свой docker в docker hub.

ДАЛЕЕ, ниже, нам нужно добавить загрузочный Jar с информацией о репозитории и основном классе приложения:

bootJar {
    baseName = 'aws_training_01'
    version = '1.0.0'
    mainClassName = "com.pedrospiet.spring01.AwsSpring01Application"
}
task unpack(type: Copy) {
    dependsOn bootJar
    from(zipTree(tasks.bootJar.outputs.files.singleFile))
    into("build/dependency")
}

docker {
    name "${project.group}/${bootJar.baseName}"
    tags "${bootJar.version}"
    copySpec.from(tasks.unpack.outputs).into("dependency")
    buildArgs(['DEPENDENCY': "dependency"])
}

Это Работает

Запуск изображения в контейнере на Intellij IDEA

Сначала нажмите ALT + 8

нажмите на кнопку выполнить

В сеансе изображения мы можем найти наше изображение, поэтому нажмите правой кнопкой мыши и перейдите в раздел “Создать контейнер”.

настройте порты:

перейдите к ПОДАЧЕ ЗАЯВКИ и ЗАПУСТИТЕ, теперь мы можем протестировать в бессоннице

ЭТО РАБОТАЕТ!

Оригинал: “https://dev.to/pedrospiet/how-to-build-microsservices-with-spring-boot-and-aws-with-fargate-and-docker-part-2-687”