{"id":3591,"date":"2023-04-12T15:39:33","date_gmt":"2023-04-12T15:39:33","guid":{"rendered":"https:\/\/quebit.com\/askquebit\/azure-containers\/"},"modified":"2023-04-12T15:39:33","modified_gmt":"2023-04-12T15:39:33","slug":"azure-containers","status":"publish","type":"post","link":"https:\/\/quebit.com\/askquebit\/azure-containers\/","title":{"rendered":"Azure Containers"},"content":{"rendered":"<p><strong>Azure Containers<\/strong><\/p>\n<p>Just as Virtual Machines or \u201cVMs\u201d virtualize physical machines, <strong>Containers<\/strong> virtualize operating systems. Containers are designed to \u201cbundle\u201d what is minimally required (executables, binary code, libraries, and configuration files) to run a tiny microservice or a huge application in any environment. Containers\u00a0thus provide an easy way to run applications without having to manage an environment and its dependencies. \u00a0This is commonly referred to as \u201cContainerization\u201d.<\/p>\n<h2>What is Containerization?<\/h2>\n<p><a href=\"https:\/\/www.ibm.com\/cloud\/learn\/containerization#:~:text=What%20is%20containerization%3F,runs%20consistently%20on%20any%20infrastructure.\">Containerization\u00a0<\/a>(as IBM defines it) is: \u201c\u2026the packaging of software code with just the\u00a0operating system\u00a0(OS) libraries and\u00a0dependencies\u00a0required to run the code to create a single lightweight executable\u2014called a container\u2014that runs consistently on any infrastructure. More portable and resource-efficient than\u00a0virtual machines\u00a0(VMs), containers have become the\u00a0de facto\u00a0compute\u00a0units of modern\u00a0cloud-native\u00a0applications\u2026\u201d.<\/p>\n<p>In this post I will to explore just the fundamentals of how to create an <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/container-registry\/container-registry-intro\">Azure Container Registry<\/a> using the Azure Portal, publish a (<a href=\"https:\/\/www.docker.com\/resources\/what-container\">Docker) container image<\/a> to it and then run the container from the registry (using Docker commands within the Azure CLI). The diagram below indicates the key components we\u2019ll use:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1993 alignnone\" src=\"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2022\/01\/Z1-min.jpg\" alt=\"\" width=\"541\" height=\"262\" \/><\/p>\n<p><strong>Prerequisites<\/strong><\/p>\n<p>To complete this exercise, you\u2019ll need to have an <a href=\"https:\/\/azure.microsoft.com\/en-us\/free\/search\/?&amp;ef_id=Cj0KCQiAubmPBhCyARIsAJWNpiO6-N9DDgpnhZwXG7mv5KqlETN1VrR-4X5qB8JZ2Zf7cElFjh2OJT0aArzUEALw_wcB:G:s&amp;OCID=AID2200277_SEM_Cj0KCQiAubmPBhCyARIsAJWNpiO6-N9DDgpnhZwXG7mv5KqlETN1VrR-4X5qB8JZ2Zf7cElFjh2OJT0aArzUEALw_wcB:G:s&amp;gclid=Cj0KCQiAubmPBhCyARIsAJWNpiO6-N9DDgpnhZwXG7mv5KqlETN1VrR-4X5qB8JZ2Zf7cElFjh2OJT0aArzUEALw_wcB\">Azure Cloud subscription<\/a>, <a href=\"https:\/\/docs.microsoft.com\/en-us\/cli\/azure\/get-started-with-azure-cli\">Azure CI<\/a> installed and configured and <a href=\"https:\/\/docs.docker.com\/desktop\/windows\/install\/\">Docker<\/a> running locally.<\/p>\n<p><strong>Creating and Deploying an Azure Container Registry<\/strong><\/p>\n<p>An Azure Container Registry is\u00a0a private registry service used for building, storing, and managing container images and related artifacts. There are a number of ways to create an Azure Registry, but in this post, I used the Azure Portal:<\/p>\n<p>Select\u00a0<strong>Create a resource<\/strong>\u00a0&gt;\u00a0<strong>Containers<\/strong>\u00a0&gt;\u00a0<strong>Container Registry<\/strong>:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1994 alignnone\" src=\"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2022\/01\/Z2-min.jpg\" alt=\"\" width=\"900\" height=\"359\" \/><\/p>\n<p>In the\u00a0<strong>Basics<\/strong>\u00a0tab, enter values for\u00a0<strong>Resource group<\/strong>\u00a0and\u00a0<strong>Registry name<\/strong>. I created a new resource group in the\u00a0East US\u00a0location named\u00a0JimsResourceGroup, and for\u00a0SKU, selected \u201c<strong>Basic<\/strong>\u201d. I accepted the default values for the remaining settings, then selected\u00a0<strong>Review + create<\/strong> and finally, <strong>Create<\/strong>. Once the <strong>Deployment succeeded<\/strong>\u00a0message appeared, I needed to select the container registry and take note of the registry name (jimsbestcontainerregistry) and the value of the\u00a0<strong>Login server<\/strong>, (jimsbestcontainerregistry.azurecr.io ) which is the \u201cfully qualified name\u201d ending with\u00a0azurecr.io (very important later, since you need to use these values to push and pull images).<\/p>\n<p><strong>A Container Image<\/strong><\/p>\n<p>Before pushing and pulling any container images, you must log in to the Azure Container Registry.\u00a0This is done using the Azure Command-Line Interface (CLI). You use the az login command log in to Azure:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1995 alignnone\" src=\"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2022\/01\/Z3-min.jpg\" alt=\"\" width=\"900\" height=\"577\" \/><\/p>\n<p>Next, you need to log into the Azure Container Registry:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1996 alignnone\" src=\"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2022\/01\/Z4-min.jpg\" alt=\"\" width=\"900\" height=\"133\" \/><\/p>\n<p>We see the \u201cLogin Succeed\u201d message, so we are ready to move some container images around!<\/p>\n<p><strong>Publish\/Deploy to the Azure Container Registry<\/strong><\/p>\n<p>To <em>push<\/em> an image to an Azure Container registry, you must first have an image. To keep this exercise simple, I used an existing public image, from the <a href=\"https:\/\/github.com\/microsoft\/containerregistry\">Microsoft Container Registry (MCR)<\/a> by executing the\u00a0<a href=\"https:\/\/docs.docker.com\/engine\/reference\/commandline\/pull\/\">docker pull<\/a>\u00a0command to pull (download) that public image locally<strong>.<\/strong><\/p>\n<p>docker pull mcr.microsoft.com\/hello-world<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1988 alignnone\" src=\"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2022\/01\/Z5-min.jpg\" alt=\"\" width=\"703\" height=\"117\" \/><\/p>\n<p>Before you can push an image to the Azure Container Registry, you must \u201ctag\u201d it using the <a href=\"https:\/\/docs.docker.com\/engine\/reference\/commandline\/tag\/\">docker tag command<\/a> and the <u>fully qualified name<\/u> of the Azure Registry Server: <em>&lt;registry-name&gt;.azurecr.io<\/em>:<\/p>\n<p>docker tag mcr.microsoft.com\/hello-world jimsbestcontainerregistry.azurecr.io\/hello-world:v1<\/p>\n<p>Finally, we can use the\u00a0<a href=\"https:\/\/docs.docker.com\/engine\/reference\/commandline\/push\/\">docker push<\/a>\u00a0command to push the image to the Azure Container Registry:<\/p>\n<p>docker push jimsbestcontainerregistry.azurecr.io\/hello-world:v1<\/p>\n<p>The output generated is shown below:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1989 alignnone\" src=\"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2022\/01\/Z6-min.jpg\" alt=\"\" width=\"900\" height=\"78\" \/><\/p>\n<p>Success! Now, if I go back to the Azure Portal and navigate to our registry, you can select\u00a0<strong>Repositories<\/strong>, then the\u00a0<strong>hello-world<\/strong>\u00a0repository we just created with\u00a0docker push:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1990 alignnone\" src=\"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2022\/01\/Z7-min.jpg\" alt=\"\" width=\"900\" height=\"492\" \/><\/p>\n<p>By selecting the\u00a0<strong>hello-world<\/strong>\u00a0repository, you see the\u00a0v1-tagged image under\u00a0<strong>Tags<\/strong>; and if you click the v1, you see the following:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1992 alignnone\" src=\"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2022\/01\/V8-min.jpg\" alt=\"\" width=\"900\" height=\"488\" \/><\/p>\n<p><strong>Running the Container<\/strong><\/p>\n<p>Now, you can pull and run the\u00a0hello-world:v1\u00a0container image from your container registry by using\u00a0<a href=\"https:\/\/docs.docker.com\/engine\/reference\/commandline\/run\/\">docker run<\/a>:<\/p>\n<p>docker run jimsbestcontainerregistry.azurecr.io\/hello-world:v1<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1991 alignnone\" src=\"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2022\/01\/Z9-min.jpg\" alt=\"\" width=\"900\" height=\"404\" \/><\/p>\n<p><strong>Conclusion<\/strong><\/p>\n<p>In this post I created an Azure Container Registry with the Azure portal, pushed a container image, and pulled and ran the image from the registry using docker commands and the Azure CLI. It required some setup (specifically running Docker on my MS Windows machine) but was fun and not too challenging overall. Next step will be to build my and use my own container image.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Azure Containers Just as Virtual Machines or \u201cVMs\u201d virtualize physical machines, Containers virtualize operating systems. Containers are designed to \u201cbundle\u201d what is minimally required (executables, binary code, libraries, and configuration files) to run a tiny microservice or a huge application in any environment. Containers\u00a0thus provide an easy way to run applications without having to manage&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[27],"tags":[],"class_list":["post-3591","post","type-post","status-publish","format-standard","hentry","category-quebit-value"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Azure Containers - QueBIT<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/quebit.com\/askquebit\/azure-containers\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Azure Containers - QueBIT\" \/>\n<meta property=\"og:description\" content=\"Azure Containers Just as Virtual Machines or \u201cVMs\u201d virtualize physical machines, Containers virtualize operating systems. Containers are designed to \u201cbundle\u201d what is minimally required (executables, binary code, libraries, and configuration files) to run a tiny microservice or a huge application in any environment. Containers\u00a0thus provide an easy way to run applications without having to manage&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/quebit.com\/askquebit\/azure-containers\/\" \/>\n<meta property=\"og:site_name\" content=\"QueBIT\" \/>\n<meta property=\"article:published_time\" content=\"2023-04-12T15:39:33+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2022\/01\/Z1-min.jpg\" \/>\n<meta name=\"author\" content=\"agoddard\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"agoddard\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/azure-containers\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/azure-containers\\\/\"},\"author\":{\"name\":\"agoddard\",\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/#\\\/schema\\\/person\\\/e52d72da0fd2f5f70d189343fe4f5084\"},\"headline\":\"Azure Containers\",\"datePublished\":\"2023-04-12T15:39:33+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/azure-containers\\\/\"},\"wordCount\":714,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/azure-containers\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/wp-content\\\/uploads\\\/2022\\\/01\\\/Z1-min.jpg\",\"articleSection\":[\"QueBIT Value\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/quebit.com\\\/askquebit\\\/azure-containers\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/azure-containers\\\/\",\"url\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/azure-containers\\\/\",\"name\":\"Azure Containers - QueBIT\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/azure-containers\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/azure-containers\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/wp-content\\\/uploads\\\/2022\\\/01\\\/Z1-min.jpg\",\"datePublished\":\"2023-04-12T15:39:33+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/#\\\/schema\\\/person\\\/e52d72da0fd2f5f70d189343fe4f5084\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/azure-containers\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/quebit.com\\\/askquebit\\\/azure-containers\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/azure-containers\\\/#primaryimage\",\"url\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/wp-content\\\/uploads\\\/2022\\\/01\\\/Z1-min.jpg\",\"contentUrl\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/wp-content\\\/uploads\\\/2022\\\/01\\\/Z1-min.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/azure-containers\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Azure Containers\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/#website\",\"url\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/\",\"name\":\"QueBIT\",\"description\":\"QueBIT\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/#\\\/schema\\\/person\\\/e52d72da0fd2f5f70d189343fe4f5084\",\"name\":\"agoddard\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d817b364cff1d66116debde8d1c85e5e76eeece9c5ae731b19276a6040231455?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d817b364cff1d66116debde8d1c85e5e76eeece9c5ae731b19276a6040231455?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d817b364cff1d66116debde8d1c85e5e76eeece9c5ae731b19276a6040231455?s=96&d=mm&r=g\",\"caption\":\"agoddard\"},\"sameAs\":[\"https:\\\/\\\/quebit.com\\\/askquebit\"],\"url\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/author\\\/agoddard\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Azure Containers - QueBIT","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/quebit.com\/askquebit\/azure-containers\/","og_locale":"en_US","og_type":"article","og_title":"Azure Containers - QueBIT","og_description":"Azure Containers Just as Virtual Machines or \u201cVMs\u201d virtualize physical machines, Containers virtualize operating systems. Containers are designed to \u201cbundle\u201d what is minimally required (executables, binary code, libraries, and configuration files) to run a tiny microservice or a huge application in any environment. Containers\u00a0thus provide an easy way to run applications without having to manage&hellip;","og_url":"https:\/\/quebit.com\/askquebit\/azure-containers\/","og_site_name":"QueBIT","article_published_time":"2023-04-12T15:39:33+00:00","og_image":[{"url":"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2022\/01\/Z1-min.jpg","type":"","width":"","height":""}],"author":"agoddard","twitter_card":"summary_large_image","twitter_misc":{"Written by":"agoddard","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/quebit.com\/askquebit\/azure-containers\/#article","isPartOf":{"@id":"https:\/\/quebit.com\/askquebit\/azure-containers\/"},"author":{"name":"agoddard","@id":"https:\/\/quebit.com\/askquebit\/#\/schema\/person\/e52d72da0fd2f5f70d189343fe4f5084"},"headline":"Azure Containers","datePublished":"2023-04-12T15:39:33+00:00","mainEntityOfPage":{"@id":"https:\/\/quebit.com\/askquebit\/azure-containers\/"},"wordCount":714,"commentCount":0,"image":{"@id":"https:\/\/quebit.com\/askquebit\/azure-containers\/#primaryimage"},"thumbnailUrl":"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2022\/01\/Z1-min.jpg","articleSection":["QueBIT Value"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/quebit.com\/askquebit\/azure-containers\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/quebit.com\/askquebit\/azure-containers\/","url":"https:\/\/quebit.com\/askquebit\/azure-containers\/","name":"Azure Containers - QueBIT","isPartOf":{"@id":"https:\/\/quebit.com\/askquebit\/#website"},"primaryImageOfPage":{"@id":"https:\/\/quebit.com\/askquebit\/azure-containers\/#primaryimage"},"image":{"@id":"https:\/\/quebit.com\/askquebit\/azure-containers\/#primaryimage"},"thumbnailUrl":"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2022\/01\/Z1-min.jpg","datePublished":"2023-04-12T15:39:33+00:00","author":{"@id":"https:\/\/quebit.com\/askquebit\/#\/schema\/person\/e52d72da0fd2f5f70d189343fe4f5084"},"breadcrumb":{"@id":"https:\/\/quebit.com\/askquebit\/azure-containers\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/quebit.com\/askquebit\/azure-containers\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/quebit.com\/askquebit\/azure-containers\/#primaryimage","url":"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2022\/01\/Z1-min.jpg","contentUrl":"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2022\/01\/Z1-min.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/quebit.com\/askquebit\/azure-containers\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/quebit.com\/askquebit\/"},{"@type":"ListItem","position":2,"name":"Azure Containers"}]},{"@type":"WebSite","@id":"https:\/\/quebit.com\/askquebit\/#website","url":"https:\/\/quebit.com\/askquebit\/","name":"QueBIT","description":"QueBIT","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/quebit.com\/askquebit\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/quebit.com\/askquebit\/#\/schema\/person\/e52d72da0fd2f5f70d189343fe4f5084","name":"agoddard","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/d817b364cff1d66116debde8d1c85e5e76eeece9c5ae731b19276a6040231455?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/d817b364cff1d66116debde8d1c85e5e76eeece9c5ae731b19276a6040231455?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d817b364cff1d66116debde8d1c85e5e76eeece9c5ae731b19276a6040231455?s=96&d=mm&r=g","caption":"agoddard"},"sameAs":["https:\/\/quebit.com\/askquebit"],"url":"https:\/\/quebit.com\/askquebit\/author\/agoddard\/"}]}},"_links":{"self":[{"href":"https:\/\/quebit.com\/askquebit\/wp-json\/wp\/v2\/posts\/3591","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/quebit.com\/askquebit\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/quebit.com\/askquebit\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/quebit.com\/askquebit\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/quebit.com\/askquebit\/wp-json\/wp\/v2\/comments?post=3591"}],"version-history":[{"count":0,"href":"https:\/\/quebit.com\/askquebit\/wp-json\/wp\/v2\/posts\/3591\/revisions"}],"wp:attachment":[{"href":"https:\/\/quebit.com\/askquebit\/wp-json\/wp\/v2\/media?parent=3591"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/quebit.com\/askquebit\/wp-json\/wp\/v2\/categories?post=3591"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/quebit.com\/askquebit\/wp-json\/wp\/v2\/tags?post=3591"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}