{"id":8820,"date":"2023-10-03T19:28:10","date_gmt":"2023-10-03T18:28:10","guid":{"rendered":"https:\/\/www.baeldung.com\/java-graalvm-docker-image"},"modified":"2023-10-03T19:28:10","modified_gmt":"2023-10-03T18:28:10","slug":"create-a-graalvm-docker-image","status":"publish","type":"post","link":"https:\/\/gamefootballmobileanimeiphone.com\/index.php\/2023\/10\/03\/create-a-graalvm-docker-image\/","title":{"rendered":"Create a GraalVM Docker Image"},"content":{"rendered":"<p><img src=\"https:\/\/www.baeldung.com\/wp-content\/uploads\/2021\/09\/Java-8-Featured-1024x536.png\" class=\"webfeedsFeaturedVisual wp-post-image\" alt=\"\" decoding=\"async\" style=\"float: left; margin-right: 5px;\" loading=\"lazy\" srcset=\"https:\/\/www.baeldung.com\/wp-content\/uploads\/2021\/09\/Java-8-Featured-1024x536.png 1024w, https:\/\/www.baeldung.com\/wp-content\/uploads\/2021\/09\/Java-8-Featured-300x157.png 300w, https:\/\/www.baeldung.com\/wp-content\/uploads\/2021\/09\/Java-8-Featured-768x402.png 768w, https:\/\/www.baeldung.com\/wp-content\/uploads\/2021\/09\/Java-8-Featured-100x52.png 100w, https:\/\/www.baeldung.com\/wp-content\/uploads\/2021\/09\/Java-8-Featured.png 1200w\" sizes=\"(max-width: 580px) 100vw, 580px\" \/><\/p>\n<h2 id=\"bd-introduction\" data-id=\"introduction\">1. Introduction<\/h2>\n<div class=\"bd-anchor\" id=\"introduction\"><\/div>\n<p><strong><a href=\"https:\/\/feeds.feedblitz.com\/~\/t\/0\/0\/baeldung\/~https:\/\/www.baeldung.com\/spring-native-intro\">GraalVM<\/a> compiles Java applications into machine executables using its Ahead-Of-Time (AOT) compiler<\/strong>. These executables execute directly into the target machine without using a Just-In-Time (JIT) compiler. The GraalVM-produced binaries are smaller, have a <strong>fast start-up time, and provide peak performance without any warm-up<\/strong>. Besides, these<strong> executables have a lower memory footprint and CPU<\/strong> than the applications running on JVM.<\/p>\n<p>Docker lets us package software components into a Docker Image and run as a Docker container. A <strong>Docker container contains everything the application needs to run including the application code, runtime, system tools, and libraries<\/strong>.<\/p>\n<p>In this tutorial, we&#8217;ll discuss creating a GraalVM native image of a Java application. We&#8217;ll then talk about how to use this native image as a Docker image and run it as a Docker container.<\/p>\n<h2 id=\"bd-what-is-a-native-image\" data-id=\"what-is-a-native-image\">2. What is a Native Image<\/h2>\n<div class=\"bd-anchor\" id=\"what-is-a-native-image\"><\/div>\n<p>Native Image is a technology that <strong>compiles Java code ahead of time into a native executable<\/strong>. This native executable includes only the code required to be executed at runtime. This includes application classes, standard library classes, the language runtime, and statically linked native code from JDK.<\/p>\n<p>The Native Image Builder (<em>native-image<\/em>) scans the application classes and other metadata to create a binary file specific to an operating system and architecture. The <em>native-image<\/em> tool <strong>performs a static application code analysis to determine the classes and methods reachable while the application runs<\/strong>. It then compiles the required classes, methods, and resources into a binary executable.<\/p>\n<h2 id=\"bd-benefits-of-native-image\" data-id=\"benefits-of-native-image\">3. Benefits of Native Image<\/h2>\n<div class=\"bd-anchor\" id=\"benefits-of-native-image\"><\/div>\n<p>There are several benefits of a native image executable:<\/p>\n<ul>\n<li>As a native image builder <strong>compiles only the resources that are needed at runtime<\/strong>, the size of the executable is small<\/li>\n<li><strong>Native executables have extremely fast start-up times<\/strong> as these are directly executed in the target machine without a JIT compiler<\/li>\n<li>Provides a <strong>lesser attack surface as it packages only the required application resources<\/strong><\/li>\n<li><strong>Useful to package in a lightweight container image<\/strong> such as Docker Image for fast and efficient deployment<\/li>\n<\/ul>\n<h2 id=\"bd-building-a-graalvm-native-image\" data-id=\"building-a-graalvm-native-image\">4. Building a GraalVM Native Image<\/h2>\n<div class=\"bd-anchor\" id=\"building-a-graalvm-native-image\"><\/div>\n<p>In this section, we&#8217;ll build a GraalVM native image for a Spring Boot application. First, we need to install GraalVM and set the <em>JAVA_HOME<\/em> environment variable. Second, create a Spring Boot application with the <a href=\"https:\/\/feeds.feedblitz.com\/~\/t\/0\/0\/baeldung\/~https:\/\/mvnrepository.com\/artifact\/org.springframework.boot\/spring-boot-starter-web\/3.1.4\">Spring Web<\/a> and GraalVM Native Support\u00a0dependencies:<\/p>\n<pre><code class=\"language-xml\">&lt;dependency&gt;\r\n    &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\r\n    &lt;artifactId&gt;spring-boot-starter-web&lt;\/artifactId&gt;\r\n    &lt;version&gt;3.1.4&lt;\/version&gt;\r\n&lt;\/dependency&gt;\r\n<\/code><\/pre>\n<p>We also need to <a href=\"https:\/\/feeds.feedblitz.com\/~\/t\/0\/0\/baeldung\/~https:\/\/mvnrepository.com\/artifact\/org.graalvm.buildtools\/native-maven-plugin\">add the following plugin<\/a> for the GraalVM native support:<\/p>\n<pre><code class=\"language-xml\">&lt;build&gt;\r\n    &lt;plugins&gt;\r\n        &lt;plugin&gt;\r\n            &lt;groupId&gt;org.graalvm.buildtools&lt;\/groupId&gt;\r\n            &lt;artifactId&gt;native-maven-plugin&lt;\/artifactId&gt;\r\n            &lt;version&gt;0.9.27&lt;\/version&gt;\r\n        &lt;\/plugin&gt;\r\n    &lt;\/plugins&gt;\r\n&lt;\/build&gt;<\/code><\/pre>\n<p>This application contains a sample rest controller:<\/p>\n<pre><code class=\"language-java\">@RestController\r\nclass HelloController {\r\n\t\r\n    @GetMapping\r\n    public String hello() {\r\n\treturn &quot;Hello GraalVM&quot;;\r\n    }\r\n}\r\n<\/code><\/pre>\n<p>Let&#8217;s build the native executable using the Maven command:<\/p>\n<pre><code class=\"language-plaintext\">$mvn -Pnative native:compile<\/code><\/pre>\n<p>The <em>native-maven-plugin<\/em> builds the GraalVM native image. Since the GraalVM native image compiler performs static code analysis, the build time is high compared to the regular Java application compilation.<\/p>\n<p>The following is the output of the GraalVM compilation:<\/p>\n<pre><code class=\"language-bash\">========================================================================================================================\r\nGraalVM Native Image: Generating &#039;springboot-graalvm-docker&#039; (executable)...\r\n========================================================================================================================\r\n&lt;strong&gt;[1\/8] Initializing... (42.7s @ 0.15GB)&lt;\/strong&gt;\r\nJava version: 17.0.8+9-LTS, vendor version: Oracle GraalVM 17.0.8+9.1\r\nGraal compiler: optimization level: 2, target machine: x86-64-v3, PGO: ML-inferred\r\nC compiler: gcc (linux, x86_64, 11.3.0)\r\nGarbage collector: Serial GC (max heap size: 80% of RAM)\r\n\/\/ Omitted for clarity\r\n&lt;strong&gt;[2\/8] Performing analysis... [******] (234.6s @ 1.39GB)&lt;\/strong&gt;\r\n15,543 (90.25%) of 17,222 types reachable\r\n25,854 (67.59%) of 38,251 fields reachable\r\n84,701 (65.21%) of 129,883 methods reachable\r\n4,906 types, 258 fields, and 4,984 methods registered for reflection\r\n64 types, 70 fields, and 55 methods registered for JNI access\r\n4 native libraries: dl, pthread, rt, z\r\n[3\/8] Building universe... (14.7s @ 2.03GB)\r\n[4\/8] Parsing methods... [*******] (55.6s @ 2.05GB)\r\n[5\/8] Inlining methods... [***] (4.9s @ 2.01GB)\r\n[6\/8] Compiling methods... [**********\r\n[6\/8] Compiling methods... [*******************] (385.2s @ 3.02GB)\r\n[7\/8] Layouting methods... [****] (14.0s @ 2.00GB)\r\n[8\/8] Creating image... [*****] (30.7s @ 2.72GB)\r\n48.81MB (58.93%) for code area: 48,318 compilation units\r\n30.92MB (37.33%) for image heap: 398,288 objects and 175 resources\r\n3.10MB ( 3.75%) for other data\r\n82.83MB in total\r\n\/\/ Omitted for clarity\r\nFinished generating &#039;springboot-graalvm-docker&#039; in 13m 7s.\r\n\/\/ Omitted for clarity<\/code><\/pre>\n<p>In the above compilation output, the following are a few key points:<\/p>\n<ul>\n<li>The compilation uses the GraalVM Java compiler to compile the application<\/li>\n<li>The compiler does a reachability check for types, fields, and methods<\/li>\n<li>Next, it builds the native executed and shows the executable size and the time taken for compilation<\/li>\n<\/ul>\n<p>Post the successful build, we can find the native executable available in the target directory. This executable can be executed in the command line.<\/p>\n<h2 id=\"bd-building-a-docker-image\" data-id=\"building-a-docker-image\">5. Building a Docker Image<\/h2>\n<div class=\"bd-anchor\" id=\"building-a-docker-image\"><\/div>\n<p>In this section, we&#8217;ll develop a Docker image for the native executable generated in the previous step.<\/p>\n<p>Let us create the following Dockerfile:<\/p>\n<pre><code class=\"language-plaintext\">FROM ubuntu:jammy\r\nCOPY target\/springboot-graalvm-docker \/springboot-graalvm-docker\r\nCMD [&quot;\/springboot-graalvm-docker&quot;]<\/code><\/pre>\n<p>Next, let us build the Docker image using the following command:<\/p>\n<pre><code class=\"language-plaintext\">$docker build -t springboot-graalvm-docker .<\/code><\/pre>\n<p>Post successful build, we can notice that <em>springboot-graalvm-docker<\/em> Docker image is available:<\/p>\n<pre><code class=\"language-plaintext\">$docker images | grep springboot-graalvm-docker<\/code><\/pre>\n<p>We can execute this image using the following command:<\/p>\n<pre><code class=\"language-plaintext\">$docker run -p 8080:8080 springboot-graalvm-docker<\/code><\/pre>\n<p>The above command starts the container and we can notice the Spring Boot startup logs:<\/p>\n<pre><code class=\"language-plaintext\">\/\/ Ommited for clarity\r\n***  INFO 1 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization &lt;strong&gt;completed in 14 ms&lt;\/strong&gt;\r\n***  INFO 1 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path &#039;&#039;\r\n***  INFO 1 --- [           main] c.b.g.GraalvmDockerImageApplication      : Started GraalvmDockerImageApplication in 0.043 seconds (process running for 0.046)<\/code><\/pre>\n<p><strong>The application starts in 43 milliseconds<\/strong>. We can access the REST endpoint by accessing the following command:<\/p>\n<pre><code class=\"language-plaintext\">$curl localhost:8080\r\n<\/code><\/pre>\n<p>It shows the following output:<\/p>\n<pre><code class=\"language-bash\">Hello GraalVM<\/code><\/pre>\n<h2 id=\"bd-conclusion\" data-id=\"conclusion\">6. Conclusion<\/h2>\n<div class=\"bd-anchor\" id=\"conclusion\"><\/div>\n<p>In this article, we build a Docker image for a GraalVM native executable.<\/p>\n<p>We started discussing the GraalVM native image and its advantages. It is useful for use cases requiring a first start-up and low memory footprint. Next, we generated the native executable of a Spring Boot application using the GraalVM native image compiler. Lastly, we developed a Docker Image with the native executable and started a Docker container with the image.<\/p>\n<p>The source code for this application is available on <a href=\"https:\/\/feeds.feedblitz.com\/~\/t\/0\/0\/baeldung\/~https:\/\/github.com\/eugenp\/tutorials\/tree\/master\/spring-boot-modules\/spring-boot-graalvm-docker\">over on GitHub<\/a>.<\/p>\n<p><Img align=\"left\" border=\"0\" height=\"1\" width=\"1\" alt=\"\" style=\"border:0;float:left;margin:0;padding:0;width:1px!important;height:1px!important;\" hspace=\"0\" src=\"https:\/\/feeds.feedblitz.com\/~\/i\/797363993\/0\/baeldung\"><\/p>\n<div style=\"clear:both;padding-top:0.2em;\"><a title=\"Like on Facebook\" href=\"https:\/\/feeds.feedblitz.com\/_\/28\/797363993\/baeldung\"><img decoding=\"async\" height=\"20\" src=\"https:\/\/assets.feedblitz.com\/i\/fblike20.png\" style=\"border:0;margin:0;padding:0;\"><\/a>&#160;<a title=\"Pin it!\" href=\"https:\/\/feeds.feedblitz.com\/_\/29\/797363993\/baeldung,https%3A%2F%2Fwww.baeldung.com%2Fwp-content%2Fuploads%2F2021%2F09%2FJava-8-Featured-1024x536.png\"><img decoding=\"async\" height=\"20\" src=\"https:\/\/assets.feedblitz.com\/i\/pinterest20.png\" style=\"border:0;margin:0;padding:0;\"><\/a>&#160;<a title=\"Tweet This\" href=\"https:\/\/feeds.feedblitz.com\/_\/24\/797363993\/baeldung\"><img decoding=\"async\" height=\"20\" src=\"https:\/\/assets.feedblitz.com\/i\/twitter20.png\" style=\"border:0;margin:0;padding:0;\"><\/a>&#160;<a title=\"Subscribe by email\" href=\"https:\/\/feeds.feedblitz.com\/_\/19\/797363993\/baeldung\"><img decoding=\"async\" height=\"20\" src=\"https:\/\/assets.feedblitz.com\/i\/email20.png\" style=\"border:0;margin:0;padding:0;\"><\/a>&#160;<a title=\"Subscribe by RSS\" href=\"https:\/\/feeds.feedblitz.com\/_\/20\/797363993\/baeldung\"><img decoding=\"async\" height=\"20\" src=\"https:\/\/assets.feedblitz.com\/i\/rss20.png\" style=\"border:0;margin:0;padding:0;\"><\/a>&#160;<a rel=\"NOFOLLOW\" title=\"View Comments\" href=\"https:\/\/www.baeldung.com\/java-graalvm-docker-image#respond\"><img decoding=\"async\" height=\"20\" style=\"border:0;margin:0;padding:0;\" src=\"https:\/\/assets.feedblitz.com\/i\/comments20.png\"><\/a>&#160;<a title=\"Follow Comments via RSS\" href=\"https:\/\/www.baeldung.com\/java-graalvm-docker-image\/feed\"><img decoding=\"async\" height=\"20\" style=\"border:0;margin:0;padding:0;\" src=\"https:\/\/assets.feedblitz.com\/i\/commentsrss20.png\"><\/a>&#160;<\/div>\n\n<h2><b>Commercials Cooperation Advertisements:<\/b><\/h2>\r\n<p><br>(1) IT Teacher IT Freelance<br> <\/p>\r\n<a href=https:\/\/itteacheritfreelance.hk\/wordpress><img src=http:\/\/gamefootballmobileanimeiphone.com\/wp-content\/uploads\/2023\/09\/ITTeacherITFreelance-Website.png alt=IT\u96fb\u8166\u88dc\u7fd2 java\u88dc\u7fd2 \u70ba\u5927\u5bb6\u914d\u5c0d\u96fb\u8166\u88dc\u7fd2,IT freelance, \u79c1\u4eba\u8001\u5e2b, PHP\u88dc\u7fd2,CSS\u88dc\u7fd2,XML,Java\u88dc\u7fd2,MySQL\u88dc\u7fd2,graphic design\u88dc\u7fd2,\u4e2d\u5c0f\u5b78ICT\u88dc\u7fd2,\u4e00\u5c0d\u4e00\u79c1\u4eba\u88dc\u7fd2\u548cFreelance\u81ea\u7531\u5de5\u4f5c\u914d\u5c0d\u3002\/><\/a><p><a href=https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/findteacher>\u7acb\u523b\u8a3b\u518a\u53ca\u5831\u540d\u96fb\u8166\u88dc\u7fd2\u8ab2\u7a0b\u5427! <\/a><br>\r\n\r\n\u7535\u5b50\u8ba1\u7b97\u673a -\u6559\u80b2 -IT \u96fb\u8166\u73ed\u201d ( IT\u96fb\u8166\u88dc\u7fd2 ) \u63d0\u4f9b\u4e00\u500b\u65b9\u4fbf\u7684\u7535\u5b50\u8ba1\u7b97\u673a \u6559\u80b2\u5e73\u53f0, \u70ba\u5927\u5bb6\u914d\u5c0d\u4fe1\u606f\u6280\u672f, \u96fb\u8166 \u8001\u5e2b, IT freelance \u548c programming expert. \u8b93\u5927\u5bb6\u65b9\u4fbf\u5730\u5c31\u80fd\u627e\u5230\u5408\u9069\u7684\u96fb\u8166\u88dc\u7fd2, \u96fb\u8166\u73ed, \u5bb6\u6559, \u79c1\u4eba\u8001\u5e2b.  <br>\r\n\r\nWe are a education and information platform which you can find a IT private tutorial teacher or freelance. <br>\r\n\r\nAlso we provide different information about information technology, Computer, programming, mobile, Android, apple, game, movie, anime, animation\u2026 \r\n<\/p>\n<p><br>(2) ITSec<br> <\/p><a href=https:\/\/itsec.vip><img src=http:\/\/gamefootballmobileanimeiphone.com\/wp-content\/uploads\/2023\/09\/ITSec-Main-Promotion-Image.png alt= https:\/\/itsec.vip\/\r\nSecure Your Computers from Cyber Threats and mitigate risks with professional services to defend Hackers.  \r\nITSec provide IT Security and Compliance Services, including IT Compliance Services, Risk Assessment, IT Audit, Security Assessment and Audit, ISO 27001 Consulting and Certification, GDPR Compliance Services, Privacy Impact Assessment (PIA), Penetration test, Ethical Hacking, Vulnerabilities scan, IT Consulting, Data Privacy Consulting, Data Protection Services, Information Security Consulting, Cyber Security Consulting, Network Security Audit, Security Awareness Training.\/><\/a> \r\n<br><br> \r\n<p><a href=https:\/\/itsec.vip>www.ITSec.vip<\/a> <br> <br> \r\n<p><a href=https:\/\/sraa.com.hk>www.Sraa.com.hk<\/a> <br> <br> \r\n<p><a href=https:\/\/itsec.hk>www.ITSec.hk<\/a> <br> <br> \r\n<p><a href=https:\/\/penetrationtest.hk>www.Penetrationtest.hk<\/a> <br> <br> \r\n<p><a href=https:\/\/itseceu.uk>www.ITSeceu.uk<\/a> <br> <br> \r\nSecure Your Computers from Cyber Threats and mitigate risks with professional services to defend Hackers. <br><br>\r\nITSec provide IT Security and Compliance Services, including IT Compliance Services, Risk Assessment, IT Audit, Security Assessment and Audit, ISO 27001 Consulting and Certification, GDPR Compliance Services, Privacy Impact Assessment (PIA), Penetration test, Ethical Hacking, Vulnerabilities scan, IT Consulting, Data Privacy Consulting, Data Protection Services, Information Security Consulting, Cyber Security Consulting, Network Security Audit, Security Awareness Training. \r\n<br><br>Contact us right away. <br><br>Email (Prefer using email to contact us): <br>SalesExecutive@ITSec.vip<\/p>","protected":false},"excerpt":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/www.baeldung.com\/wp-content\/uploads\/2021\/09\/Java-8-Featured-1024x536.png\" class=\"webfeedsFeaturedVisual wp-post-image\" alt=\"\"><\/p>\n<p>Learn how to build a Docker image for a GraalVM native executable.<\/p>\n<div><a title=\"Like on Facebook\" href=\"https:\/\/feeds.feedblitz.com\/_\/28\/797363993\/baeldung\"><img decoding=\"async\" height=\"20\" src=\"https:\/\/assets.feedblitz.com\/i\/fblike20.png\"><\/a>\u00a0<a title=\"Pin it!\" href=\"https:\/\/feeds.feedblitz.com\/_\/29\/797363993\/baeldung,https%3A%2F%2Fwww.baeldung.com%2Fwp-content%2Fuploads%2F2021%2F09%2FJava-8-Featured-1024x536.png\"><img decoding=\"async\" height=\"20\" src=\"https:\/\/assets.feedblitz.com\/i\/pinterest20.png\"><\/a>\u00a0<a title=\"Tweet This\" href=\"https:\/\/feeds.feedblitz.com\/_\/24\/797363993\/baeldung\"><img decoding=\"async\" height=\"20\" src=\"https:\/\/assets.feedblitz.com\/i\/twitter20.png\"><\/a>\u00a0<a title=\"Subscribe by email\" href=\"https:\/\/feeds.feedblitz.com\/_\/19\/797363993\/baeldung\"><img decoding=\"async\" height=\"20\" src=\"https:\/\/assets.feedblitz.com\/i\/email20.png\"><\/a>\u00a0<a title=\"Subscribe by RSS\" href=\"https:\/\/feeds.feedblitz.com\/_\/20\/797363993\/baeldung\"><img decoding=\"async\" height=\"20\" src=\"https:\/\/assets.feedblitz.com\/i\/rss20.png\"><\/a>\u00a0<a rel=\"NOFOLLOW\" title=\"View Comments\" href=\"https:\/\/www.baeldung.com\/java-graalvm-docker-image#respond\"><img decoding=\"async\" height=\"20\" src=\"https:\/\/assets.feedblitz.com\/i\/comments20.png\"><\/a>\u00a0<a title=\"Follow Comments via RSS\" href=\"https:\/\/www.baeldung.com\/java-graalvm-docker-image\/feed\"><img decoding=\"async\" height=\"20\" src=\"https:\/\/assets.feedblitz.com\/i\/commentsrss20.png\"><\/a>\u00a0<\/div>\n","protected":false},"author":259,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"site-container-style":"default","site-container-layout":"default","site-sidebar-layout":"default","disable-article-header":"default","disable-site-header":"default","disable-site-footer":"default","disable-content-area-spacing":"default","footnotes":""},"categories":[22],"tags":[61,122,127,129,124,128,125,132,131,133,126,130,123,66,94,88,97,56,64,65,60,112,40,75,95,104,33,120,4190,105,101,98,115,30,29,41,86,70,69,68,72,71,26,118,108,87,46,55,48,52,54,51,50,83,62,58,57,109,35,59,63,85,79,82,96,80,27,81,114,44,42,43,45,38,39,110,117,100,111,116,73,89,90,92,91,93,84,78,37,102,34,36,77,67,74,99,113,119,28,121,32,47,49,53,103,31,76],"class_list":["post-8820","post","type-post","status-publish","format-standard","hentry","category-mobile","tag-airpods","tag-anime","tag-anime-characters","tag-anime-cosplay","tag-anime-edits","tag-anime-merchandise","tag-anime-movies","tag-anime-news","tag-anime-recommendations","tag-anime-reviews","tag-anime-series","tag-anime-streaming","tag-animes","tag-app-store","tag-app-store-samsung","tag-appgallery","tag-appgallery-oneplus","tag-apple","tag-apple-music","tag-apple-tv","tag-apple-watch","tag-bbc-sport","tag-best-mobile-games","tag-bixby","tag-bixby-xiaomi","tag-champions-league","tag-cyberpunk","tag-cyberpunk-2077","tag-docker-image","tag-fantasy-football","tag-fifa","tag-football","tag-formula-1","tag-fortnite","tag-free-fire","tag-free-mobile-games","tag-freebuds-pro","tag-galaxy-a52","tag-galaxy-note-20","tag-galaxy-s21","tag-galaxy-watch-4","tag-galaxy-z-fold-3","tag-game","tag-games","tag-golf","tag-harmonyos","tag-how-to-backup-iphone","tag-how-to-factory-reset-iphone","tag-how-to-reset-iphone","tag-how-to-restore-iphone","tag-how-to-unlock-iphone","tag-how-to-unlock-iphone-5","tag-how-to-unlock-iphone-6","tag-huawei","tag-ios","tag-ipad","tag-iphone","tag-live-soccer","tag-lol","tag-macbook","tag-macos","tag-mate-40-pro","tag-mi-11-lite","tag-mi-home-security-camera-basic-1080p","tag-mi-home-security-camera-basic-1080p-huawei","tag-mi-smart-band-6","tag-minecraft","tag-miui","tag-mlb-scores","tag-mobile-game-design","tag-mobile-game-development","tag-mobile-game-marketing","tag-mobile-game-monetization","tag-mobile-games","tag-mobile-gaming","tag-nba-scores","tag-nba-standings","tag-nfl","tag-nfl-scores","tag-nhl-scores","tag-one-ui","tag-oneplus","tag-oneplus-9-pro","tag-oneplus-buds-pro","tag-oneplus-nord-ce-5g","tag-oxygenos","tag-p40-pro-plus","tag-poco-x3-pro","tag-pokemon","tag-premier-league","tag-pubg","tag-pubg-mobile","tag-redmi-note-10-pro","tag-samsung","tag-samsung-pay","tag-soccer","tag-sports","tag-steam","tag-steeam","tag-top-10-anime","tag-valorant","tag-when-do-the-iphone-7-come-out","tag-when-does-the-iphone-7-come-out","tag-when-is-the-iphone-7-coming-out","tag-world-cup","tag-xbox-series-x","tag-xiaomi"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/gamefootballmobileanimeiphone.com\/index.php\/wp-json\/wp\/v2\/posts\/8820","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gamefootballmobileanimeiphone.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gamefootballmobileanimeiphone.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gamefootballmobileanimeiphone.com\/index.php\/wp-json\/wp\/v2\/users\/259"}],"replies":[{"embeddable":true,"href":"https:\/\/gamefootballmobileanimeiphone.com\/index.php\/wp-json\/wp\/v2\/comments?post=8820"}],"version-history":[{"count":1,"href":"https:\/\/gamefootballmobileanimeiphone.com\/index.php\/wp-json\/wp\/v2\/posts\/8820\/revisions"}],"predecessor-version":[{"id":8821,"href":"https:\/\/gamefootballmobileanimeiphone.com\/index.php\/wp-json\/wp\/v2\/posts\/8820\/revisions\/8821"}],"wp:attachment":[{"href":"https:\/\/gamefootballmobileanimeiphone.com\/index.php\/wp-json\/wp\/v2\/media?parent=8820"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gamefootballmobileanimeiphone.com\/index.php\/wp-json\/wp\/v2\/categories?post=8820"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gamefootballmobileanimeiphone.com\/index.php\/wp-json\/wp\/v2\/tags?post=8820"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}