GitHub Copilot Customization Explained for Beginners: Instructions, Prompt Files, Skills, Agents, and Hooks Introduction If you've recently started using GitHub Copilot, you've probably come across terms like Instructions , Prompt Files , Skills , Agents , and Hooks . At first glance, they all seem to do the same thing—they tell Copilot what to do. So why does GitHub have five different customization features? The answer is simple: each feature solves a different problem. Think of GitHub Copilot as a new developer joining your team. On their first day, you don't just hand them code. You explain your coding standards, give them reusable templates, teach them specialized knowledge, assign them a role, and automate repetitive tasks. That's exactly how GitHub Copilot customization works. In this article, you'll learn what each feature does, when to use it, and how they all work together. By the end, you'll know which feature to start with and which ones can wait un...
How to deploy containers into Azure Container Instances(ACI) using Docker Desktop?
- Get link
- X
- Other Apps
Recently there was an announcement (May 2020) about Docker partnership with
Microsoft Azure for shortening the developer commute with Docker desktop and
running containers in Container Instances in Azure. The new edge
release of Docker Desktop provides an easy and quick integration between Docker and
Microsoft Azure that enables you to use native Docker commands to run your
applications as serverless containers with Azure Container Instances.
Docker commands summary for provisioning and removing ACI.
As a developer I can make use of the same Docker CLI commands and
experience which I use locally, to interact with Azure (ACI) as well. This
experience is achieved by extending the existing docker context to
support ACI.
Pre-requisites
- Docker Desktop edge release latest
- Azure Subscription with Azure Container Registry (ACR).
- Container image in ACR
Docker CLI commands for ACI
- Log into Azure from the Docker CLI
docker login azure
- Once you are logged in, you just need to tell Docker that you want to use something besides the local engine. Docker context helps you to create ACI context. You can either pass in an Azure subscription and resource group to the command or use the interactive CLI to choose them. For this example I will provide in command as shown below.
docker context create aci demoacicontext --subscription-id XXX --resource-group XXX
--location XXX
- Once you have created Docker Context, you can tell Docker to switch to using it by default. You can check context by using docker context ls command. Use below command to switch between the contexts.
docker context use demoacicontext
- As mentioned in pre-requisites, I have an nginx image in my ACR for the demo which will be used for ACI provisioning using the following command.
docker run -d -p 80:80 demoacrblog.azurecr.io/samples/nginx:latest --name DemoACI
If we navigate to Azure portal and then Resource group under which we
provisioned we can see new ACI provisioned using Docker CLI with Public IP
assigned, using which we can browse the container instance.
- Similarly we can remove ACI containers using docker command as shown below. Note that once the command has been executed, nothing is running on ACI and all resources are removed from ACI – resulting in no ongoing cost
- Apart from remove command following commands are supported as well
docker exec -t <CONTAINER_ID> COMMAND
docker logs <CONTAINER_ID>
docker rm demoaci
Above is a demonstration for single a container, if you have a requirement to deploy a multi-container app then use Docker Compose. Only change in command will be instead of using docker run will be using new syntax docker compose up
Limitations or known issues:
Not all commands are supported but there are also commands that they plan to support in the future but just haven't got around to yet e.g. docker volume.
Popular posts from this blog
Tidy up - Unused Project and Nuget package reference using Visual Studio 2019
If you are a Developer/Architect using Visual Studio as IDE for your development activities, this blog post will be of your interest. During the Ignite 2021 conference, Microsoft released Visual Studio 2019 v16.9 and v16.10 Preview 1. As part of version 16.10 Preview 1, one of the cool features they introduced is to "Remove Unused References..." for any Projects and Nuget packages that are not in use. At the time of writing this blog post, we have Visual Studio Version 16.10.0 (official release) which includes this new feature. As part of development, we generally get carried away and introduce new Nuget package references to your project and add new references to your Projects. By the end of development, you will not be 100% sure which are not being referenced and unused which means you will leave those unused project references in your application. Now you might be wondering what's the big deal in it since it doesn't harm. The advantage of removing unused project r...
Azure Front Door vs Azure Traffic Manager?
In my previous blog post, we looked in detail Azure Front Door (AFD) . In this blog post, let's compare Azure Front Door (AFD) with another popular Azure service named Azure Traffic Manager (ATM). Prior to AFD most of the applications made use of ATM in their architecture now with AFD being available it's good to understand in which scenarios these individual services are ideal. Azure Front Door (AFD) Azure Front Door Service (AFD) a scalable and secure entry point for the fast delivery of your global applications. Azure Front Door allows you to transform your global (multi-region) applications into robust, high-performance applications, APIs, and content. Azure Traffic Manager (ATM) Azure Traffic Manager is a DNS-based traffic load balancer for geographically distributed Datacenters. Traffic Manager uses DNS to direct traffic to endpoint based on the traffic routing method and health of the endpoints. Similarities between AFD and ATM Both Azure Services support Multi-...
Authenticate Azure Functions - API Keys
In this blog post, we will see one of the ways to secure your Azure Functions using API keys. Security plays a key role as part of SDLC (Software Development Life Cycle) doesn't matter whether it's exposed to the client/public or even if it's internal. There are multiple ways to secure your Azure Functions like API Keys, Certificate, API Mgmt, App Service Authentication, etc. If you are new to the Cloud and Azure Functions but want to make a start with minimal effort and less setup of Infrastructure, then API Keys is the ideal choice. Azure Functions allows you to secure HTTP-triggered functions by API access key in the request. As part of creating new Azure Functions, we can select the Authorization Level enum value. If we set the Authorisation level to Anonymous, no security applied which means no authentication applied for the endpoint. Authorization Level - Function By setting the Authorisation level to Function each Azure Functions require a specific API key to Au...
Comments
Post a Comment