Je l'ai écrit, mais c'est fini, alors je suis passé à l'article 5 16/03/2019
Quarkus Framework Java. En tant que fonctionnalité, il génère un binaire natif et démarre très rapidement.
--Java 8 et supérieur --Maven 3.5.3 et supérieur
Semble être
GraalVM Installez GraalVM Définir dans .bash_profile etc.
export GRAALVM_HOME=[Dossier d'installation]/Contents/Home
Exécutez la commande de création de projet selon la formule de Quarkus
mvn io.quarkus:quarkus-maven-plugin:0.11.0:create \
-DprojectGroupId=org.acme \
-DprojectArtifactId=getting-started \
-DclassName="org.acme.quickstart.GreetingResource" \
-Dpath="/hello"
Créé selon le guide de départ officiel La source est incluse par défaut, elle fonctionne donc telle quelle Officiellement, il est dit que nous allons ajouter une API ou quelque chose comme ça, donc nous le ferons tel quel Il est important de comprendre les commandes lors du déplacement
Lancement local
mvn compile quarkus:dev
création de pot
mvn package
début de pot
java -jar target/getting-started-1.0-SNAPSHOT-runner.jar
Création binaire native
mvn package -Pnative
Lancement binaire natif
./target/quarkus-quickstart-runner
Création de conteneurs
mvn package -Pnative -Dnative-image.docker-build=true
construction de docker
docker build -f src/main/docker/Dockerfile -t quarkus .
run
docker run -i --rm -p 8080:8080 quarkus
Cela fonctionnait de la même manière pour local, jar, binary et docker
$ curl http://localhost:8080/hello/greeting/quarkus
hello quarkus
Maintenant que nous avons créé l'image docker, nous allons la déployer sur AWS ECS.
Créez un nouveau référentiel avec le nom "quarkus"
Exécutez la commande selon "Afficher la commande push" du référentiel créé
aws ecr get-login --no-include-email --region ap-northeast-1
##Une commande de connexion sera émise, alors exécutez-la telle quelle
##Marquer l'image créée
docker tag quarkus:latest xxxxxxx.dkr.ecr.ap-northeast-1.amazonaws.com/quarkus:latest
## push
docker push xxxxxxx.dkr.ecr.ap-northeast-1.amazonaws.com/quarkus:latest
Succès si poussé sur ECR
Création de définitions de tâches à partir d'ECS Créer en entrant ce qui est défini dans ECR dans l'image Il peut être bon de jouer avec EXPOSE dans le Dockerfile, mais il semble que la valeur par défaut soit 8080. Le mappage des ports est défini sur 80 80 80
Choisissez de créer un cluster Créez avec EC2 en sélectionnant librement le type d'instance et le nombre d'instances Matsu jusqu'à ce que EC2 devienne actif
Sélectionnez Exécuter la tâche dans l'onglet Tâches pour exécuter
Attendez un moment et il deviendra en cours d'exécution
Entrez l'instance avec ssh et vérifiez Reçu à 80 et mappé à 8080
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
29c1fb97dc07 xxxxxxx.dkr.ecr.ap-northeast-1.amazonaws.com/quarkus "./application -Dqua…" 9 seconds ago Up 8 seconds 0.0.0.0:80->8080/tcp ecs-quarkus-5-quarkus-e491bef2eefec1fcfc01
0187c98c619b amazon/amazon-ecs-agent:latest "/agent" About an hour ago Up About an hour ecs-agent
Vu du navigateur
http://[DNS public EC2]/hello/greeting/quarkus
C'était affiché!
Quarkus a démarré si rapidement qu'il avait l'impression de fonctionner déjà. J'utilise habituellement Java, mais j'ai promis que cela prendrait beaucoup de temps pour démarrer, donc c'est assez récent. ECS a mis du temps à créer au début, mais je suis content d'avoir réussi à le faire Il était difficile de comprendre ce qu'était un cluster ou une tâche. .. .. Après cela, au mappage du port, si vous effectuez un mappage dynamique au début, le port se déplacera et cela ne fonctionnera pas. .. .. Lors de la mise à jour
--Écrire Java
Je me demande si c'est comme
Recommended Posts