<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Docker on Thorsten Hans</title>
		<link>https://thorsten-hans.com/tags/docker/</link>
		<description>Recent content in Docker on Thorsten Hans</description>
		<generator>Hugo</generator>
		<language>en-US</language>
		
		
		
		
			<lastBuildDate>Wed, 28 Feb 2024 15:27:55 +0100</lastBuildDate>
		
			<atom:link href="https://thorsten-hans.com/tags/docker/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>WebAssembly and Containers with Docker Desktop - Hello World &amp; Beyond</title>
				<link>https://thorsten-hans.com/webassembly-and-containers-with-docker-desktop-hello-world-and-beyond/</link>
				<pubDate>Wed, 28 Feb 2024 15:27:55 +0100</pubDate>
				<guid>https://thorsten-hans.com/webassembly-and-containers-with-docker-desktop-hello-world-and-beyond/</guid>
				<description>&lt;p&gt;On top of being the runtime for containers, Docker Desktop is also able to run WebAssembly (Wasm) workloads. In this article, we’ll explore how one can run both containers and Wasm workloads together to build distributed architectures using the best of both worlds.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Beta Feature:&lt;/strong&gt; Wasm workloads in Docker Desktop is currently marked as a beta feature.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;hr&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#what-we-are-going-to-build&#34;&gt;What we are going to build&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#prerequisites&#34;&gt;Prerequisites&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#activate-wasm-workloads-in-docker-desktop&#34;&gt;Activate Wasm Workloads in Docker Desktop&lt;/a&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#which-wasm-runtimes-will-be-installed&#34;&gt;Which Wasm Runtimes will be Installed&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#hello-world---the-wasm-in-docker-desktop-edition&#34;&gt;Hello World - The Wasm in Docker Desktop edition&lt;/a&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#containerizing-a-spin-app&#34;&gt;Containerizing a Spin App&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#running-hello-world---the-wasm-in-docker-desktop-edition&#34;&gt;Running Hello World - The Wasm in Docker Desktop edition&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#testing-the-hello-world---the-wasm-in-docker-desktop-edition&#34;&gt;Testing the Hello World - The Wasm in Docker Desktop edition&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#cleaning-up&#34;&gt;Cleaning Up&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#orchestrating-the-sample-application&#34;&gt;Orchestrating the Sample Application&lt;/a&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#cloning-the-sample-application&#34;&gt;Cloning the Sample Application&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#orchestration-with-docker-compose&#34;&gt;Orchestration with Docker Compose&lt;/a&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#creating-a-dedicated-docker-network&#34;&gt;Creating a dedicated Docker Network&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#orchestrating-services-with-compose&#34;&gt;Orchestrating Services with Compose&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#building-and-running-with-docker-compose&#34;&gt;Building and Running with Docker Compose&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#destroying-and-cleaning-up&#34;&gt;Destroying and Cleaning Up&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#conclusion&#34;&gt;Conclusion&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;what-we-are-going-to-build&#34;&gt;What we are going to build&lt;/h2&gt;&#xA;&lt;p&gt;Discovering new topics, or learning emerging technologies often goes best when looking at a practical example. For the sake of this article, we’ll start with a simple &lt;em&gt;Hello, World&lt;/em&gt;. From there, we’ll move on and orchestrate a simple three-tier application consisting of two containers (&lt;code&gt;frontend&lt;/code&gt; and &lt;code&gt;postgres&lt;/code&gt;) and a Wasm module (&lt;code&gt;api&lt;/code&gt;).&lt;/p&gt;</description>
			</item>
			<item>
				<title>How to build multi-arch Docker Images with ease</title>
				<link>https://thorsten-hans.com/how-to-build-multi-arch-docker-images-with-ease/</link>
				<pubDate>Mon, 03 Oct 2022 13:25:44 +0200</pubDate>
				<guid>https://thorsten-hans.com/how-to-build-multi-arch-docker-images-with-ease/</guid>
				<description>&lt;p&gt;With the rise of ARM-based cloud computing resources and Apple&amp;rsquo;s switch from Intel-based CPUs to Apple Silicon, building Docker Images for multiple architectures has become increasingly important. We, as developers, must ensure that our applications can be executed on every potential architecture. We can easily achieve that by using Docker CLI and the &lt;code&gt;buildx&lt;/code&gt; plugin. This article will look at building Docker Images for multiple architectures by containerizing a simple Go application. Before we dive into building the multi-arch Docker Images, let&amp;rsquo;s quickly revisit what &lt;code&gt;buildx&lt;/code&gt; is.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Docker SBOM - or how to dive into shift-left security</title>
				<link>https://thorsten-hans.com/docker-sbom-dive-into-shift-left-security/</link>
				<pubDate>Tue, 03 May 2022 08:02:03 +0200</pubDate>
				<guid>https://thorsten-hans.com/docker-sbom-dive-into-shift-left-security/</guid>
				<description>&lt;p&gt;Recently, Docker added a new command to Docker CLI. &lt;code&gt;docker sbom&lt;/code&gt;. We can use this command to create a Software Bill of Materials (SBOM) for any container image. Another great capability when it comes to shift-left security.&#xA;This post explains why you should want to have SBOMs for all the container images of your application. How to get them and which actions you can take based on SBOMs to improve the overall security of your containerized workloads.&lt;/p&gt;</description>
			</item>
			<item>
				<title>How to lint Docker images with Dockle</title>
				<link>https://thorsten-hans.com/lint-docker-images-with-dockle/</link>
				<pubDate>Thu, 28 Apr 2022 19:26:56 +0200</pubDate>
				<guid>https://thorsten-hans.com/lint-docker-images-with-dockle/</guid>
				<description>&lt;p&gt;We&amp;rsquo;ve been building container images for quite some time (read almost decades) now. Although tooling, editor, and IDE support have matured, we should not forget about hardening container images in the inner loop. This post demonstrates how to use &lt;a href=&#34;https://github.com/goodwithtech/dockle/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&lt;code&gt;Dockle&lt;/code&gt;&lt;/a&gt;&#xA; to lint your container images according to security best practices.&lt;/p&gt;&#xA;&lt;h2 id=&#34;why-should-we-lint-container-images&#34;&gt;Why should we lint container images&lt;/h2&gt;&#xA;&lt;p&gt;We&amp;rsquo;ve to talk about the „&lt;strong&gt;why&lt;/strong&gt;&amp;quot;. Why should we lint container images? We should lint container images to&lt;/p&gt;</description>
			</item>
			<item>
				<title>Check if your application is running in a Docker container</title>
				<link>https://thorsten-hans.com/check-if-application-is-running-in-docker-container/</link>
				<pubDate>Thu, 21 Apr 2022 17:22:42 +0000</pubDate>
				<guid>https://thorsten-hans.com/check-if-application-is-running-in-docker-container/</guid>
				<description>&lt;p&gt;Especially when building cloud-native applications, we tend to develop applications that run in any environment. We design components, so we can run them with or without container technologies to ensure we can host the application on different application platforms. However, sometimes we may have to determine if our applications are running inside a Docker container or not. This allows us to take particular actions at runtime without adding additional environment variables or configuration values (state). Every container has a &lt;code&gt;.dockerenv&lt;/code&gt; file in the file system&amp;rsquo;s root. That said, we can quickly check for the existence of that file to determine reliably if our application runs inside a container or not. For demonstration purposes, this post shows how to determine if the application is executed in a container using Go and Rust.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Read-only filesystems in Docker and Kubernetes</title>
				<link>https://thorsten-hans.com/read-only-filesystems-in-docker-and-kubernetes/</link>
				<pubDate>Tue, 19 Oct 2021 13:31:43 +0000</pubDate>
				<guid>https://thorsten-hans.com/read-only-filesystems-in-docker-and-kubernetes/</guid>
				<description>&lt;p&gt;You should harden your containerized workloads to minimize the attack surface of your overall application. Paying close attention while building your container images and applying proven patterns will reduce the risk of an attack while running your application in production.&#xA;One of the simple practices to apply is setting the filesystem of your containers to read-only, and that&amp;rsquo;s exactly what we will cover in this article.&lt;/p&gt;&#xA;&lt;h2 id=&#34;read-only-filesystems-in-docker&#34;&gt;Read-only filesystems in Docker&lt;/h2&gt;&#xA;&lt;p&gt;Docker and compliant CLIs offer the &lt;code&gt;read-only&lt;/code&gt; flag, which we can use when mounting the container&amp;rsquo;s filesystem as read-only. Let&amp;rsquo;s try it! Let&amp;rsquo;s start a new container from the official &lt;code&gt;ubuntu&lt;/code&gt; image with an interactive TTY, to verify that the filesystem is read-only.&#xA;The following &lt;code&gt;docker run&lt;/code&gt; command uses &lt;code&gt;-it&lt;/code&gt; (creates an interactive pseudo TTY and ensures STDIN is kept open) and &lt;code&gt;--rm&lt;/code&gt; (removes the container automatically once exited):&lt;/p&gt;</description>
			</item>
			<item>
				<title>Send a Microsoft Teams message when new OCI artifacts appear in Azure Container Registry</title>
				<link>https://thorsten-hans.com/send-microsoft-teams-message-oci-artifacts-azure-container-registry/</link>
				<pubDate>Fri, 27 Aug 2021 10:16:31 +0000</pubDate>
				<guid>https://thorsten-hans.com/send-microsoft-teams-message-oci-artifacts-azure-container-registry/</guid>
				<description>&lt;p&gt;Getting instant feedback when a new artifact is published in a container registry such as Azure Container Registry (ACR) is important. Everyone has to stay in the loop, especially when working in a large team and managing many containerized applications. By leveraging ACR webhooks and the Microsoft Teams &lt;em&gt;Inbound Webhook&lt;/em&gt; connector, you can easily send custom messages to a team for different activities happening in your container registry.&lt;/p&gt;&#xA;&lt;p&gt;This article guides you through connecting ACR with Microsoft Teams to send messages automatically to a specific team when a new version of an image or an OCI compliant artifact is pushed to ACR.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Determine the size of Docker image layers</title>
				<link>https://thorsten-hans.com/determine-the-size-of-docker-image-layers/</link>
				<pubDate>Tue, 15 Dec 2020 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/determine-the-size-of-docker-image-layers/</guid>
				<description>&lt;p&gt;Let&amp;rsquo;s quickly recap what Docker layers are before we look at how to query their size. No worries, we look at the tip of the iceberg.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-are-docker-layers&#34;&gt;What are Docker layers&lt;/h2&gt;&#xA;&lt;p&gt;Every Docker image consists of layers. A single layer is the result of a particular instruction someone wrote down in a &lt;code&gt;Dockerfile&lt;/code&gt;. Docker ads a new layer to the stack for each instruction of the &lt;code&gt;Dockerfile&lt;/code&gt;. All layers together build the final Docker image.&lt;/p&gt;</description>
			</item>
			<item>
				<title>How to build smaller and secure  Docker Images for .NET</title>
				<link>https://thorsten-hans.com/how-to-build-smaller-and-secure-docker-images-for-net5/</link>
				<pubDate>Mon, 07 Dec 2020 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/how-to-build-smaller-and-secure-docker-images-for-net5/</guid>
				<description>&lt;h2 id=&#34;tldr&#34;&gt;TL;DR&lt;/h2&gt;&#xA;&lt;p&gt;This post explains how to optimize a .NET 5 Docker image and address two main concerns. Image size and security vulnerabilities. The article shows how to reduce the size from ~210 to ~58 MB. Additionally, it shows how to remove all 59 vulnerabilities.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-we-get-from-microsoft&#34;&gt;What we get from Microsoft&lt;/h2&gt;&#xA;&lt;p&gt;Visual Studio (also Visual Studio for Mac) creates a relatively simple &lt;code&gt;Dockerfile&lt;/code&gt; for .NET projects. It is a good starting point for users new to Docker. However, users should apply several optimizations before using the &lt;code&gt;Dockerfile&lt;/code&gt; to create Docker images for production environments.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Run containers in Azure Container Instances straight from Docker CLI</title>
				<link>https://thorsten-hans.com/run-containers-in-azure-container-instances-straight-from-docker-cli/</link>
				<pubDate>Thu, 03 Dec 2020 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/run-containers-in-azure-container-instances-straight-from-docker-cli/</guid>
				<description>&lt;p&gt;A couple of months ago, both Microsoft and Docker announced the seamless integration of &lt;strong&gt;Azure Container Instances (ACI)&lt;/strong&gt; and Docker CLI. As a container enthusiast, I had to look into this integration. I tested it in different scenarios to see how it could support me and increase my productivity.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;tl;dr:&lt;/strong&gt; The integration of ACI and Docker CLI is excellent. Once configured, I found myself spinning up numerous containers :). It provisions even multi-container applications based on &lt;em&gt;Docker Compose&lt;/em&gt;. There is a downside. Pulling images from registries was slower compared to my local machine. Overall, I like the experience and share everything you need to know about it in this article.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Scan Docker images for vulnerabilities with Docker CLI and Snyk</title>
				<link>https://thorsten-hans.com/scan-docker-images-for-vulnerabilities-with-docker-cli-and-snyk/</link>
				<pubDate>Thu, 03 Dec 2020 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/scan-docker-images-for-vulnerabilities-with-docker-cli-and-snyk/</guid>
				<description>&lt;p&gt;Vulnerabilities are everywhere. Application developers use frameworks and libraries to solve business requirements. An operating system executes applications and their dependencies, and vulnerabilities could exist in each of those layers.&lt;/p&gt;&#xA;&lt;p&gt;Obviously, as application developers, we fix potential vulnerabilities in our code-bases. However, fixing critical vulnerabilities in the Linux distribution our applications rely on, is probably not what we are responsible for. Often, it is more important to know which vulnerabilities exist and how we can fix them.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Container Metrics With CTOP</title>
				<link>https://thorsten-hans.com/docker-container-metrics-ctop/</link>
				<pubDate>Fri, 22 May 2020 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/docker-container-metrics-ctop/</guid>
				<description>&lt;p&gt;A while ago, I stumbled upon &lt;code&gt;ctop&lt;/code&gt;; a small, yet handy command-line tool to interact with Docker containers and gather essential metrics. You know &lt;code&gt;docker stats&lt;/code&gt;? &lt;code&gt;ctop&lt;/code&gt; is &lt;code&gt;docker stats&lt;/code&gt; on steroids. The open-source tool is available for free and can be installed directly on Linux and macOS.&lt;/p&gt;&#xA;&lt;figure&gt;&lt;img src=&#34;https://thorsten-hans.com/docker-container-metrics-ctop/images/docker-metrics-ctop-1.png&#34;&gt;&lt;figcaption&gt;&#xA;&#x9;&#x9;&#x9;&lt;h4&gt;ctop - Essential metrics for Docker containers&lt;/h4&gt;&#xA;&#x9;&#x9;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;With &lt;code&gt;ctop&lt;/code&gt;, you get more than just fundamental metrics. Overall, &lt;code&gt;ctop&lt;/code&gt; combines the following features in one single tool:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Docker Container CPU Limits Explained</title>
				<link>https://thorsten-hans.com/docker-container-cpu-limits-explained/</link>
				<pubDate>Mon, 18 May 2020 08:30:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/docker-container-cpu-limits-explained/</guid>
				<description>&lt;p&gt;If we think about Docker containers, we tend to associate words like efficient and small to them. Although this may be the case for the vast of situations, there are exceptions. There are containers that - perhaps unintentionally -  have a very high CPU utilization. This post explains how you can limit CPU utilization for specific Docker containers to have better control of the overall hardware utilization.&lt;/p&gt;&#xA;&lt;p&gt;On top of providing CPU limits for Docker containers, you should also limit the memory consumption. Consider reading my article, &lt;a href=&#34;https://thorsten-hans.com/limit-memory-for-docker-containers/&#34;&gt;Limit Memory For Docker Containers&lt;/a&gt;&#xA;, and learn how to prevent memory-intensive Docker containers from draining your overall system performance.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Docker Container Memory Limits Explained</title>
				<link>https://thorsten-hans.com/limit-memory-for-docker-containers/</link>
				<pubDate>Fri, 15 May 2020 08:30:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/limit-memory-for-docker-containers/</guid>
				<description>&lt;p&gt;When running &lt;a href=&#34;http://docker.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Docker&lt;/a&gt;&#xA; Images locally, you may want to control how many memory a particular container can consume. Otherwise, it may end up consuming too much memory, and your overall system performance may suffer.&#xA;By default, Docker does not apply memory limitations to individual containers. Containers can consume all available memory of the &lt;strong&gt;host&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;No need to panic (for most of the users)! If you are using &lt;a href=&#34;https://www.docker.com/products/docker-desktop&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Docker Desktop&lt;/a&gt;&#xA;, the &lt;strong&gt;host&lt;/strong&gt; is actually a &lt;strong&gt;virtualized host&lt;/strong&gt;. On macOS, the &lt;strong&gt;host&lt;/strong&gt; is a virtualized system leveraging Apple&amp;rsquo;s Hypervisor framework (which has been released with macOS 10.10 Yosemite). We use the Docker Desktop app, to specify an overall limit for containerized workloads.&lt;/p&gt;</description>
			</item>
			<item>
				<title>How To Run Commands In Stopped Docker Containers</title>
				<link>https://thorsten-hans.com/how-to-run-commands-in-stopped-docker-containers/</link>
				<pubDate>Thu, 14 May 2020 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/how-to-run-commands-in-stopped-docker-containers/</guid>
				<description>&lt;p&gt;You may already know the &lt;code&gt;exec&lt;/code&gt; command, which allows you to execute a command inside of a running Docker container. This works excellent and will enable us to dive into a running container to inspect certain things like files in the file system, running processes, and other stuff. However, &lt;code&gt;exec&lt;/code&gt; does not work when the Docker container stopped already. The following lines will explain and demonstrate how to run commands in stopped Docker containers.&lt;/p&gt;</description>
			</item>
			<item>
				<title>ACR Unleashed – Use ACR As Registry For Helm Charts</title>
				<link>https://thorsten-hans.com/azure-container-registry-unleashed-use-acr-as-registry-for-helm-charts/</link>
				<pubDate>Wed, 29 Apr 2020 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/azure-container-registry-unleashed-use-acr-as-registry-for-helm-charts/</guid>
				<description>&lt;p&gt;The seventh and last part of &lt;em&gt;Azure Container Registry Unleashed&lt;/em&gt; is about housing &lt;a href=&#34;https://helm.sh&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Helm&lt;/a&gt;&#xA; charts in ACR. This post explains how to use ACR as a protected Registry for Helm charts. We walk through the process of creating, publishing, and consuming a sample chart from ACR. However, if you have not used or seen Helm 3 before, consider reading my &amp;ldquo;&lt;a href=&#34;https://thorsten-hans.com/getting-started-with-helm3/&#34;&gt;Getting started with Helm 3&lt;/a&gt;&#xA;&amp;rdquo; article first.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#what-is-oci-and-what-are-oci-artifacts&#34;&gt;What Is OCI And What Are OCI artifacts&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#prerequisites&#34;&gt;Prerequisites&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#authenticate-helm-cli-against-acr&#34;&gt;Authenticate Helm CLI Against ACR&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#enable-oci-support-in-helm-cli&#34;&gt;Enable OCI Support In Helm CLI&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#prepare-helm-charts-for-publication-on-acr&#34;&gt;Prepare Helm Charts For Publication On ACR&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#push-a-helm-chart-to-acr&#34;&gt;Push A Helm Chart To ACR&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#pull-a-helm-chart-from-acr&#34;&gt;Pull A Helm Chart From ACR&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#export-helm-chart-once-pulled&#34;&gt;Export Helm Chart Once Pulled&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#deploy-helm-chart-to-aks&#34;&gt;Deploy Helm Chart To AKS&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#azure-cli-commands-for-helm-charts&#34;&gt;Azure CLI Commands For Helm charts&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#conclusion&#34;&gt;Conclusion&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#the-acr-unleashed-series&#34;&gt;The ACR Unleashed series&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;what-is-oci-and-what-are-oci-artifacts&#34;&gt;What Is OCI And What Are OCI artifacts&lt;/h2&gt;&#xA;&lt;p&gt;On top of Docker Registry 2.0, Azure Container Registry supports OCI artifacts. The &lt;a href=&#34;https://github.com/opencontainers/image-spec&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;OCI specification&lt;/a&gt;&#xA; defines a general format for interchanging various artifacts like Docker Images or application bundles such as Helm charts. The official definition of OCI&amp;rsquo;s responsibility is&lt;/p&gt;</description>
			</item>
			<item>
				<title>ACR Unleashed – Image Scanning With Azure Security Center</title>
				<link>https://thorsten-hans.com/azure-container-registry-unleashed-image-scanning-with-azure-security-center/</link>
				<pubDate>Mon, 20 Apr 2020 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/azure-container-registry-unleashed-image-scanning-with-azure-security-center/</guid>
				<description>&lt;p&gt;The sixth part of &lt;em&gt;Azure Container Registry Unleashed&lt;/em&gt; is about scannig Docker Images in ACR using &lt;a href=&#34;https://azure.microsoft.com/en-us/services/security-center/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Azure Security Center&lt;/a&gt;&#xA;. This post explains, what you get from Azure Security Center in the context of ACR and how to configure the integration of both Azure services. Before we dive into the article, I want to reach out and say thank you to my fellow MVP and well-known Azure security expert &lt;a href=&#34;https://blog.azureandbeyond.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Tom Janetscheck&lt;/a&gt;&#xA; for contributing to this article.&lt;/p&gt;</description>
			</item>
			<item>
				<title>ACR Unleashed – Tasks</title>
				<link>https://thorsten-hans.com/azure-container-registry-unleashed-tasks/</link>
				<pubDate>Wed, 05 Feb 2020 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/azure-container-registry-unleashed-tasks/</guid>
				<description>&lt;p&gt;The fifth part of &lt;em&gt;Azure Container Registry Unleashed&lt;/em&gt; is all about automating things in the context of Docker Images and ACR. Starting from scratch with simple, yet useful ACR Quick Tasks, over regular ACR Tasks to full-fledged ACR Multi-Step Tasks, this article covers everything you need to know about Tasks in ACR.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#what-are-arc-tasks&#34;&gt;What Are ARC Tasks&lt;/a&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#acr-tasks-pricing&#34;&gt;ACR Tasks Pricing&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#source-code-context&#34;&gt;Source Code Context&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#acr-quick-tasks&#34;&gt;ACR Quick Tasks&lt;/a&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#acr-quick-tasks-with-remote-contexts&#34;&gt;ACR Quick Tasks With Remote Contexts&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#trigger-acr-tasks-automatically&#34;&gt;Trigger ACR Tasks Automatically&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#multi-step-acr-tasks&#34;&gt;Multi-Step ACR Tasks&lt;/a&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#acr-tasks-reference-yaml&#34;&gt;ACR Tasks reference: YAML&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#build-a-blog-search-with-azure-cognitive-search&#34;&gt;Build A Blog Search With Azure Cognitive Search&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#create-required-azure-resources&#34;&gt;Create Required Azure Resources&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#identify-acr-tasks&#34;&gt;Identify ACR Tasks&lt;/a&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#the-build-index-acr-task&#34;&gt;The build-index ACR Task&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#the-feed-index-acr-task&#34;&gt;The feed-index ACR Task&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#conclusion&#34;&gt;Conclusion&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#the-acr-series&#34;&gt;The ACR Series&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#what-is-next&#34;&gt;What Is Next&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;what-are-arc-tasks&#34;&gt;What Are ARC Tasks&lt;/h2&gt;&#xA;&lt;p&gt;With Azure Container Registry (ACR), customers can use so-called tasks to offload several workloads from local machines, and services such as GitHub or Azure DevOps to Azure Container Registry. With ACR Tasks, customers can build, push, and run Docker Images for different platforms, including Linux, Windows, and ARM. As of today, there are three different types of Tasks available in ACR:&lt;/p&gt;</description>
			</item>
			<item>
				<title>ACR Unleashed – Webhooks</title>
				<link>https://thorsten-hans.com/azure-container-registry-unleashed-webhooks/</link>
				<pubDate>Wed, 04 Dec 2019 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/azure-container-registry-unleashed-webhooks/</guid>
				<description>&lt;p&gt;In the fourth part of Azure Container Registry Unleashed, we will dive into webhooks offered by ACR and learn how to use them to build simple, yet powerful automations based on ACR interactions such as pushing new tags of an image.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#what-is-a-webhook&#34;&gt;What Is A Webhook&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#acr-webhooks&#34;&gt;ACR Webhooks&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#acr-webhook-limits-by-sku&#34;&gt;ACR Webhook Limits By SKU&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#integrate-azure-services-using-acr-webhooks&#34;&gt;Integrate Azure Services Using ACR Webhooks&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#the-demo-project&#34;&gt;The Demo Project&lt;/a&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#the-azure-functions-project&#34;&gt;The Azure Functions Project&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#create-acr-webhook&#34;&gt;Create ACR Webhook&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#test-the-webhook&#34;&gt;Test The Webhook&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#push-new-docker-image-tags-to-acr&#34;&gt;Push New Docker Image Tags To ACR&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#check-results-in-azure-cosmosdb&#34;&gt;Check Results In Azure CosmosDB&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#the-acr-unleashed-series&#34;&gt;The ACR Unleashed series&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#conclusion&#34;&gt;Conclusion&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;what-is-a-webhook&#34;&gt;What Is A Webhook&lt;/h2&gt;&#xA;&lt;p&gt;Before we dive into ACR webhooks, let us do a quick refresher on webhooks. However, if you are familiar with webhooks, skip this paragraph and move on to (ACR webhooks).&lt;/p&gt;</description>
			</item>
			<item>
				<title>Docker on Windows - Fix Time Synchronization Issue</title>
				<link>https://thorsten-hans.com/docker-on-windows-fix-time-synchronization-issue/</link>
				<pubDate>Wed, 27 Nov 2019 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/docker-on-windows-fix-time-synchronization-issue/</guid>
				<description>&lt;p&gt;During validation of Windows as main operating system (which is still ongoing), I experienced strange issues when trying to build my blog using the &lt;code&gt;jekyll/jekyll&lt;/code&gt; Docker Image running on Windows 10.&lt;/p&gt;&#xA;&lt;p&gt;At some point, &lt;code&gt;jekyll build&lt;/code&gt; printed strange warnings that my shiny new article wont be compiled because it has a date in future.&lt;/p&gt;&#xA;&lt;p&gt;I checked the filename and frontmatter metadata of the post. However both looked good. So I dived a bit deeper and recognized that the date within the container was set to &lt;strong&gt;25th&lt;/strong&gt; of November whereas my host system was displaying the &lt;strong&gt;27th&lt;/strong&gt; of November.&lt;/p&gt;</description>
			</item>
			<item>
				<title>ACR Unleashed – Integrate ACR And Azure Monitor</title>
				<link>https://thorsten-hans.com/azure-container-registry-unleashed-integrate-acr-and-azure-monitor/</link>
				<pubDate>Tue, 26 Nov 2019 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/azure-container-registry-unleashed-integrate-acr-and-azure-monitor/</guid>
				<description>&lt;p&gt;The third part of Azure Container Registry Unleashed will guide you through the process of integrating ACR and Azure Monitor to collect essential information and metrics about your ACR instances at runtime. The integration of ACR and Azure Monitor is currently in public preview. However, retrieving insights about your ACR instance is mission-critical, so we will dive into this topic now.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#what-is-azure-monitor&#34;&gt;What Is Azure Monitor&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#create-a-log-analytics-workspace&#34;&gt;Create A Log Analytics Workspace&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#connect-acr-to-azure-monitor&#34;&gt;Connect ACR To Azure Monitor&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#populate-sample-data-into-azure-monitor&#34;&gt;Populate Sample Data Into Azure Monitor&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#query-acr-events-and-metrics-using-azure-monitor&#34;&gt;Query ACR Events And Metrics Using Azure Monitor&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#create-alerts-for-acr-events&#34;&gt;Create Alerts For ACR Events&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#the-acr-unleashed-series&#34;&gt;The ACR Unleashed series&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#conclusion&#34;&gt;Conclusion&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;what-is-azure-monitor&#34;&gt;What Is Azure Monitor&lt;/h2&gt;&#xA;&lt;p&gt;Azure Monitor is a centralized hub for aggregating, analyzing, visualizing and working with data. It consumes data from different sources and collects that data in data stores. All data collected by Azure Monitor fits into on of two categories, logs and metrics.&lt;/p&gt;</description>
			</item>
			<item>
				<title>ACR Unleashed – Authentication, Identity Access Management And Content-Trust</title>
				<link>https://thorsten-hans.com/azure-container-registry-unleashed-authentication-iam-contenttrust/</link>
				<pubDate>Thu, 21 Nov 2019 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/azure-container-registry-unleashed-authentication-iam-contenttrust/</guid>
				<description>&lt;p&gt;This is the second part of Azure Container Registry Unleashed. Today, we will go one step further and talk about Authentication (AuthN), Identity Access Management (IAM) and Content-Trust in the scope of ACR. To be a bit more precisely, this post contains the following sections:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#acr-authentication&#34;&gt;ACR Authentication&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#acr-identity-access-management-iam&#34;&gt;ACR Identity Access Management (IAM)&lt;/a&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#iam-for-azure-active-directory-users-and-groups&#34;&gt;IAM For Azure Active Directory Users And Groups&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#iam-for-service-principals&#34;&gt;IAM For Service Principals&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#what-is-docker-content-trust&#34;&gt;What Is Docker Content-Trust&lt;/a&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#configure-content-trust-in-acr&#34;&gt;Configure Content-Trust In ACR&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#enable-content-trust-for-docker-cli&#34;&gt;Enable Content-Trust For Docker CLI&lt;/a&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#configure-content-trust-globally&#34;&gt;Configure Content-Trust Globally&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#configure-content-trust-explicitly&#34;&gt;Configure Content-Trust Explicitly&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#content-trust-by-example&#34;&gt;Content-Trust By Example&lt;/a&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#push-signed-docker-images-with-global-content-trust&#34;&gt;Push Signed Docker Images With Global Content-Trust&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#push-signed-docker-images-with-contextual-content-trust&#34;&gt;Push Signed Docker Images With Contextual Content-Trust&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#content-trust-key-management&#34;&gt;Content-Trust Key Management&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#acr-content-trust-pitfalls&#34;&gt;ACR Content-Trust Pitfalls&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#docker-content-trust-pitfalls&#34;&gt;Docker Content-Trust Pitfalls&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#further-information-on-content-trust&#34;&gt;Further Information On Content-Trust&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#the-acr-unleashed-series&#34;&gt;The ACR Unleashed series&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#conclusion&#34;&gt;Conclusion&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;acr-authentication&#34;&gt;ACR Authentication&lt;/h2&gt;&#xA;&lt;p&gt;As mentioned in the first post of the series, Azure Container Registry integrates seamlessly with Azure Active Directory (AAD) and offers several ways to authenticate. Basically, you should differentiate between user-involved authentication and headless authentication, which is typically issued by a service in service-to-service scenarios. Having all authentication calls separated into those two categories, finding the correct authentication-pattern becomes easier.&lt;/p&gt;</description>
			</item>
			<item>
				<title>ACR Unleashed – ACR Up And Running with Geo Replication</title>
				<link>https://thorsten-hans.com/azure-container-registry-unleashed-acr-up-and-running/</link>
				<pubDate>Tue, 19 Nov 2019 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/azure-container-registry-unleashed-acr-up-and-running/</guid>
				<description>&lt;p&gt;Azure Container Registry – or short ACR - is a managed service offered by Microsoft Azure. It is a private Docker Registry based on Docker Registry 2.0 and acts as central service in many containerized application architectures. Compared to other private Docker registries, ACR offers several advantages like ease of administration due to powerful Azure CLI commands, seamless integration with other Azure Services such as Azure Kubernetes Service and frictionless authentication using Azure Active Directory (AAD).&lt;/p&gt;</description>
			</item>
			<item>
				<title>Integrating Azure Key Vault with Azure Container Services</title>
				<link>https://thorsten-hans.com/integrating-azure-keyvault-with-azure-container-services/</link>
				<pubDate>Fri, 11 May 2018 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/integrating-azure-keyvault-with-azure-container-services/</guid>
				<description>&lt;p&gt;With &lt;em&gt;Azure Key Vault&lt;/em&gt;, Microsoft is offering a dedicated and secure service to manage and maintain sensitive data like Connection-Strings, Certificates, or key-value pairs.&lt;/p&gt;&#xA;&lt;p&gt;We&amp;rsquo;re hoping to see a native &lt;em&gt;Azure Key Vault&lt;/em&gt; integration for &lt;em&gt;Azure Container Services&lt;/em&gt; (ACS) in the near future. At least the &lt;a href=&#34;https://docs.microsoft.com/en-us/azure/aks/faq&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;official FAQ&lt;/a&gt;&#xA; mentions the feature on the product&amp;rsquo;s roadmap. Until this features will be shipped and if you&amp;rsquo;re using another &lt;em&gt;Kubernetes&lt;/em&gt; environment - such as &lt;em&gt;GCP&lt;/em&gt; or &lt;em&gt;AWS&lt;/em&gt; offerings -, you&amp;rsquo;ve to integrate &lt;em&gt;Azure Key Vault&lt;/em&gt; manually into your application building blocks to get rid of storing most sensitive data in plain old &lt;em&gt;Kubernetes Secrets&lt;/em&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Deploy Azure Functions to Kubernetes and scale them automatically</title>
				<link>https://thorsten-hans.com/deploy-azure-functions-to-kubernetes-and-scale-them-automatically/</link>
				<pubDate>Fri, 26 Jan 2018 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/deploy-azure-functions-to-kubernetes-and-scale-them-automatically/</guid>
				<description>&lt;p&gt;&lt;em&gt;Azure Functions&lt;/em&gt; has become my standard framework to build &lt;em&gt;serverless&lt;/em&gt; backends for &lt;em&gt;Single Page Applications&lt;/em&gt; (SPAs). It&amp;rsquo;s easy to get started with &lt;em&gt;Azure Functions&lt;/em&gt;, although the platform itself is really powerful and highly configurable. I really love the cloud hosting capabilities for &lt;em&gt;Azure Functions&lt;/em&gt;, but from time to time, it&amp;rsquo;s not allowed to use the public cloud as the deployment target.&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Azure Functions&lt;/em&gt; can easily be hosted in different environments. You can download the entire runtime and execute it on-premises (if you have to) or you can use the existing &lt;em&gt;Docker&lt;/em&gt; image and deploy your serverless backend to &lt;em&gt;Kubernetes&lt;/em&gt;. And that&amp;rsquo;s exactly what this post will describe, you&amp;rsquo;ll create a sample Azure Functions project including a docker container, deploy it to a Kubernetes cluster and let it automatically scale based on CPU utilization.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Using Azure Files in Kubernetes Deployments with ASP.NET Core</title>
				<link>https://thorsten-hans.com/using-azure-files-in-kubernetes-deployments-with-asp-net-core/</link>
				<pubDate>Mon, 21 Aug 2017 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/using-azure-files-in-kubernetes-deployments-with-asp-net-core/</guid>
				<description>&lt;p&gt;&lt;em&gt;Azure Container Services&lt;/em&gt; (&lt;em&gt;ACS&lt;/em&gt;) makes it incredibly easy to spin up and manage &lt;em&gt;Kubernetes&lt;/em&gt; clusters in the cloud. There are plenty of other Azure resources which you can use to build daily scenarios on a native cloud stack.&#xA;Common scenarios are serving files from and writing important information to persisted locations. Azure offers many different storage capabilities. In this post, I&amp;rsquo;ll explain how to use an Azure File Share to serve content by using a .NET Core Web API.&lt;/p&gt;</description>
			</item>
			<item>
				<title>How to use a private Azure Container Registry with Kubernetes</title>
				<link>https://thorsten-hans.com/how-to-use-private-azure-container-registry-with-kubernetes/</link>
				<pubDate>Fri, 18 Aug 2017 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/how-to-use-private-azure-container-registry-with-kubernetes/</guid>
				<description>&lt;p&gt;Besides using the goodness of Azure Container Services (ACS). Different Azure services like Azure Container Registry (ACR) and Azure Container Instances (ACI) can be used and connected from independent container orchestrators like kubernetes (k8s). This post will explain how to set up a custom ACR and connect it to an existing k8s cluster to ensure images will be pulled from the private container registry instead of the public docker hub.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
