Optimizing the Microsoft developer experience with Docker | BRKFP295
About this lesson
Discover the power of Docker and Microsoft's partnership in streamlining dev processes across Azure, Windows, and Dev Box. Learn how to build and run containers efficiently, ensuring consistency and boosting productivity within the inner loop of development. This session offers insights into best practices, fostering a collaborative, innovative, and resource-optimized development practice. 𝗦𝗽𝗲𝗮𝗸𝗲𝗿𝘀: * Anthony Cangialosi * Justin Cormack 𝗦𝗲𝘀𝘀𝗶𝗼𝗻 𝗜𝗻𝗳𝗼𝗿𝗺𝗮𝘁𝗶𝗼𝗻: This video is one of many sessions delivered for the Microsoft Build 2024 event. View the full session schedule and learn more about Microsoft Build at https://build.microsoft.com BRKFP295 | English (US) #MSBuild
Full Transcript
[Music] hi uh welcome to day three of build really excited to be here hope you're having a great time um thanks for joining us um I'm Justin Kack I'm the CTO at Docker and we're going to talk about all the things that Microsoft and docker are doing together on how our ecosystems integrate and how developers are using Microsoft and Docker to work faster and more efficiently um really excited to be here um we're going to talk about all our strategic Investments a bunch of upcoming Innovations we're going to show some things that we have never shown before in public so it's going to be really exciting uh lots of demos and um so you know we're just going to talk about how we're you know unifying development with docker Microsoft um making everything work really well together optimizing developer proficiency uh we're going to talk about security because um It's always important and it's always something that uh is you know becoming at the front of our mind and of course it wouldn't be a Microsoft Event without talking about Ai and the things we're doing with AI uh and the Integrations we're doing with with co-pilot um Docker okay you know is so well known it sometimes it feels it hardly needs an introduction but there's always new people as well but Doc is one of the most popular development tools there is um from the stack Overflow survey we're we're pretty much every year with Most Wanted developer tool and most loved developer Tool uh millions of developers use Docker every day um and really you know really love it really improves their experience and Docker Hub is this huge repository of um applications to help you build your applications faster um and we're investing to make Docker even better and work even better with with other ecosystems like the Microsoft ecosystem um we're all about efficiency um we're going to have um somea case study from one of our customers down here later which is going to show you some of the examples in the efficiency um you know delivering applications faster more efficiently more sec is really important um we're going to talk about integrating local and Cloud together um enabling you to innovate and putting AI in containers um and so we'll have some a whole bunch of demos about AI as well um a lot of you will have heard of Docker but um you may not know you know we have a whole Suite of Docker developer Solutions now um Docker desktop is you know has been around for for a long time really well well loved often people's starting point and entry into the docker ecosystem you know running on on Windows and or on Mac or Linux but um most of you know most of our developers run on Windows um Docker Hub as I mentioned where there's images and content for building your applications uh huge library of um trusted content for you to use uh Docker Bild cloud is a new product we launched this year which accelerates your container builds it lets you have a shared cash with your whole team which means everything runs way faster we're going to show a demo of that a little later as well um Docker Scout is our security product which we're going to talk about later and also new to the docker family is test containers Cloud I know a lot of people use test containers um test containers Cloud accelerates your your testing as well um so h s of product and um more coming soon which we're going to be showing you as well um it's Microsoft devbox we've got Anthony here from Microsoft to talk about this collaboration that we started very recently as well nice to see you how you doing good see you yeah I'm really excited to be here thank you Justin I'm Anthony Keli I'm the group product manager for Microsoft devbox uh and excited to be here with Docker a company that really truly knows what it means to deliver rapidly development environments into the cloud I'll tell you a little bit about Microsoft devbox which are Cloud development environments or environments that you can spin up in instantly that are ready to code available in Azure they provide or can be configured to have all the tools that you want for your team into the environment uh these can include your source code your developer tools your packages and build environments imagine the largest applications You're Building being able to spin up those environments in just a few minutes you can do this now through a new Imaging service that we're building into the dev boox service this really democratizes for any team the ability to create through config as code a development environment for every single project in your organization now you can spin up and manage them with your code in the repository so team members themselves manage that along with the life cycle of the application they're very much project scope but they're also very personal so your developers themselves can also configure those environments for themselves with their own personal tools their own personal settings tabs for spaces dark mode light mode whatever you want and then finally they're built on top of Windows 365 so they're managed and integrated within tune their domain joins so they have all the same policies and configures code or I'm sorry excuse me conditional access policies that you manage for your Enterprise thanks we're think so you know we're going to talk more about cloud or local and giving developers the choice giving organizations the choice later on it's really important you know you know having the options to choose where how you want to develop at different times or different places they have all the tools that they need including docker and they have images available on the marketplace that have Docker built into them so Docker is pretty much available everywhere thank you thanks so that's just one of the many examples of Docker and Microsoft better together I mean there's there's so many areas that we're we're integrated I think you know so many of our customers use AA kubernetes service they use the uh Microsoft container registry um obviously vs code two days ago we launched the dogger desktop on Windows on arm um which so many people were so excited about I got I can't believe how many how many people have asked about this and tweeted about it and and been people have been waiting for for so long people excited about you know new new laptops New Opportunities new architectures new Fast co-pilot plus PCS um so that's been really exciting um obviously we have you know really deep Integrations with GitHub with um GitHub actions for docker build and all sorts of um areas so you know um and Docker build Cloud enhances you know the AA develops experience so we're we're very closely integrated across our you know all all our products um and this is really deepening um so um and you know as I mentioned before you know we local and local or Cloud are your choice you know you can you can choose de boox you can choose local you can mix them at different times your organ organization can choose um and all of those you know you still get the same experience with vs code you know with wsl2 and the Windows Experience like wherever you wherever you choose to run your code um Docker desktop um yeah windows on arm can't can't can't repeat it often enough um it's been really exciting I I actually um we started looking at this years ago I've got I had a Windows on arm machine like maybe five years ago and um but we didn't have the full Docker desktop experience then and now it's the full desktop experience which is really really great um we've been optimizing um wsl2 and improving the performance on wsl2 um and we also have Docker desktop available on red hat Enterprise Li Linux again you can run that in the cloud or locally um so that's another another place it's become available just because customers have been asking asking for all these all these choices um now this is another thing that um again there's been a lot of work behind the scenes for a lot of times um Bill kid is our next Generation Docker build that we've been working on for quite some years now but one of the um you know one of the issues with it was it didn't support Windows containers for a long time um but we started collaborating with Microsoft to actually fix that and fix the gaps in that and um this is actually in in preview right now and we have a um demo from uh Colin who's actually over here confusing me hi I'm Colin product manager on the core build team at Docker today I'm excited to share with you new support for Windows containers within bkit this is an ongoing collaborative effort between Docker and Microsoft to improve the experience of building windows containers so before the introduction of Bill kit we had the classic Docker Builder which did a great job of building container images but it had several shortcomings such as bills were sequential and unoptimized meaning that more work was done during a build than was necessary which resulted in a slower build experience there's no built-in support for building multiplatform images and caching and cach management was somewhat limited buildkit is the new build engine in Docker as a solution to these issues by paralyzing build stages to improve build speed automatic build optimization to only execute the build stages that are targeted and only move files needed in the container image as well as adding support for build emulation and build a configuration to handle building for multiple flatforms within a single Docker file or build Commander and finally adding advanced cach management for build layers and packages to dramatically speed up execution between build iterations there are so many improvements that come with Bill kit we can spend hours just covering them all but today I'm excited to share the Beta release of Bill kit for Windows so that you can all get the benefits of buildkit when building windows container images let's see how it works so now if we jump over into Docker desktop we'll see this all working so as previously mentioned uh one of the benefits of Bill kit is the ability to switch between multiple Builder configurations as you need them so if I select for Builder settings I can start to configure those so here we can see we currently got the default Builder selected which is the one that we use most of the time but if we scroll down here we can see that I've previously set up a Windows Builder so buing for building windows container images and this will be running against the um buildkit for Windows so I can just switch to that by simple click and that's done setting up these Builders is really straightforward and it's all covered in the documentation but yeah I set that up ahead of time just to save some time there jumping over into vs code here you can see that I've created a basic Docker file for building a Windows container image see we're using a Windows base image um and we're copying in a file making some amendments so we can execute that build but this standard uh build command in in Docker and here we're going to build that image we're going to tag it and then we're going to push that up to the hub and you can see that's completed um we can see the it's been pushed up to the hub and you can see that we've taken advantage of the cach there because this has been an iterative build and now what we're going to do is we're just going to run that image and to show that working so here you can see that we were just extracting pulling that down from the Hub um running the extraction and then it will execute that build once it's completed downloading and it was as simple as that it's all running and you can see hello from B here installation is working and we're running that from Windows so that shows yeah building a Windows container image and and executing that but it's a fairly basic setup so I think we can do something a little bit more advanced so if we jump back into Docker desktop what you might have previously noticed is that we've got a list of builds here so you can actually inspect these builds within Docker desktop which is great for debugging and trying to do optimization and really understanding what happened at build time and this is available for Linux and for Windows builds now but again if we jump into the Builder settings and and what we can see is I've also previously configured a builder for building for multiple multiplatform again really straightforward but I've just done it ahead of time to save save some time there you can actually inspect these builders in Ducker desktop to see uh more information about the configuration here you can see we've got multiple nodes one for Linux and one for Windows there so now if I head back over into uh vs code what I've done is I've set up a Docker file for building a multiple platform image for both Linux that will support both Linux and windows um and this takes advantage of some of the great configuration and power that you get within uh buildkit that you can Define these runtime these build time variables that will help you configure your build and you can build in certain inheritance and things like that so it really reduces the amount of configuration you need to find for building different images and you can put it in one location so now what we're going to do is we'll just build that image and I'll walk you through here so again we're just going to build the image we're going to tag it we'll give it a different uh image name as part of that tag and we will um specify the docker file um this is just because we given it a different Docker file name if you just call it Docker file then you wouldn't need to specify that and then this is a simple um as it as it gets really so to build for multiple platforms on vkit um you can just specify this platform option and here we're going to build for Windows amd64 Linux am64 and we'll build a Linux arm image while we're at it this is taking advantage of um multiplatform Builders and also some Builder emulation in there to again make this as simple as possible for you to build and so we're just running that build there you can see that building and pushing up to the hub and we're complete so I can run that build within this this terminal within vs code here but I'm actually going to switch over to a Powershell terminal so here we're just in a standard P shell terminal and what I'm going to do is I'm going to run up that image that we just built so here y you can see it loc out in the half pulling it down extracting and executing and as part of this uh this particular Builder configuration you can see the output we got the windows specific command that we run in there and and the message that we supplied as part of the windows build configuration what I've also done is set up a auntu image using WSL and what I want to show you here is we're going to run the exact same build run command for the exact same image but we're going to run it in a Linux VM so here it's pulling down that image again executing and again we can see the uh output is ex executed successfully and we've got the uh platform specific configuration and commands being run and so this is really powerful you can show that you can build for different different platforms and you can keep your configuration concise and in one location and all managed from there so that about wraps things up um so this is the Beta release of buildkit for Windows this is available now you can install that try it out um Early Access with built-in support uh within Docker desktop will be coming soon um and yeah just to recap um bukit aims to provide this consistent build experience across platforms increasing build efficiency and providing support for Windows developer Community back to you Justin thanks Colin um next we're going to talk about the inner loop um with the inner loop I not sure everyone necessarily knows what the term um means but the the inner loop is where you do your daily work where you're sitting there you're editing You're Building you're um you know you're testing out stuff um you know you're really in the flow the alter Loop is when you push things to CI and the worst developer experience is when you push things to CI and then you wait 45 minutes and then it tells you something went wrong and you have to kind of go back and you know I've worked in environments like that and it's kind of horrible um at Docker we're really trying to help you get everything right in your inner loop fast conveniently and in a you know nice way so that when you push to when you when you push out things can go straight to production you know it's straight straight to the um you know things things work things behave as you expect expect expect and we'll talk about that more with things like security as well as um you know inner loop development um our our products we actually spans across you know everything we build T runs across Inner Loop and the outer loop so things like build Cloud let you build faster locally and then also accelerate the outer loop on after after you've built it fast on the inner loop so we we we really we span both but we're really trying to bring everything into the inner loop to make things as fast and as efficient as possible um one thing that we're actually gaing in the um in the upcoming 431 release of Docker Docker desktop debug um this is a tool we built for making it easier to work with um container images it lets you install a whole bunch of um extra tools in the Shell inside an image dynamically at run time so that instead of having to rebuild an image with more tools if you want to do some debugging you can just um you can just add them like on the fly without actually changing the image so that you can um debug more efficiently it also has other features for running debugging stop containers and so on that's um all part of the docker subscription in in 431 um we're also excited to share um new things we've been working on um around Cloud engines and hybrid clouds are working in the cloud um and we actually have never shown this before Rodney here is going to actually demo this live this is the first time we've actually shown this in public um so this is in this is going to be in preview soon as in internal development at the moment so um really ex really excited to uh to have Rodney here to show this thank you Justin Miss switch this here so um yeah um this is the first time that we're going to be doing a demo like this um this is a project that we started a while ago to improve the inner loop um I hope that the demo goes hard with me today because um you know still literally is in the works so um the goal is conceptually simple we want to leverage we want to allow developers to um use cloud infrastructure we want to do that in a really simple way and we we don't want to go down the approach of having to move the user to the cloud we want to meet the users where they are today which is for Docker case their desktop their laptops so um our approach is going to be based on that we want to make sure that they keep their ux the same way that they're using it today they can use their IDs their debuggers their tools their terminals we don't want to change any of that so this approach is kind of hybrid as you can tell so if we want to make this work we have to figure out a way to split the client side from what it would be the server side server side would be kind of a running the cloud um so all the workflows will execute on the cloud but they still will keep you know kind of the UI section you know on their laptop so they can keep on us using their tools um so let's see how we do that let's do a quick demo about uh how that would look like so this is dock desktop what you're looking at right now uh we're going to have a new section this is the placeholder the name right now harmonia it's kind of the internal project it's going to have a different name so what we're going to be doing here is we're going to allow the user to Cate create these Cloud engines uh obviously will execute in the cloud and let's see what is the interface that we offering to the user so it's going to be very simple you're going to type your engine name I call it my engine obviously you're going to set your um your corporation your or and you're going to be offer a template with options uh you can pick you know set of options EV eventually will have much more um let's go with a simple one I want a cloud engine that is hosted in an environment that consumes or that takes no more than that um I'm G to also be interested in syncing some of my files Upstream right so in this case I've been working on an application um that is a sample voting app probably a bunch of you already know and I'm making changes to that app so because I know that I'm going to be changing that and I'm going to be executing containers that will look into uh file system um in that space I'm interested to tell this Cloud engine hey you know ahead of time go ahead and synchronize data to the cloud okay so the last switch is very simple just saying hey you know what when you don't create this context this environment This Cloud engine go ahead and switch to that you could have multiple of those environments not that you're going to have one let's go ahead and create that so it's going to take a few seconds um if everything goes right shouldn't be more than 10 seconds so in parallel going to be bringing my terminal here okay and I'm going to pain Docker I'm going to ask for the context that have been created in my environment I'm still running default context which is desktop Linux so nothing has happened yet the system is still creating this instance should be created by now working progress let's go back here let's switch to it automatically okay let's take a look now okay so you see this in my engine Cloud engine or Docker engine if you will that has been created on the cloud so from this moment on everything that I do with Docker in my computer is going to be executed on the cloud even though I still keep my ux I still keep my tools I haven't mooved I'm still on that same framework that I was before with my terminal nothing has changed so let's bring this environment up this set of containers of this app that I'm talking about so if we do things right nothing has changed for the user I'm insisting on that because that's a really critical point um this is a regular Docker compose it will take a few seconds to come up there's like seven containers in this uh application in the meantime let's get to uh Docker desktop to see how images are being pulled see we already have post R we already have Reddit as you can imagine I think we're downloading around one J right now of data um looks like we have a a little issue here yeah demog gods are not with me as I was afraid of so um the important thing here is that um I'm running a Wi-Fi right now and I'm downloading one jig but that one jig is not coming to my laptop the reason I'm able to instantiate this when it works in a few seconds is because the content is being downloaded from Cloud to Cloud I'm talking to my engine on the cloud and tell hey engine pull this data from me and synchron ize everything so that everything works for me so that's what I'm able in principle to instantiate all this in a matter of second so that's the key you know the savings that you are um that you are um that you seeing based on the fact that you're not consuming the bandwidth from your laptop to the cloud so let's see how can we do from here yeah for some reason we run into uh un aspect that issue here not sure what happened to be honest I can barely yeah so it's totally transparent it just the same the same experience you can just use the cloud for pieces of your work especially if you have things with data sets and and or you need gpus or you have applications too big to run on your laptop or yeah the the the feel of it still local so it's this H this very much a hybrid thing you don't have to change the way you work you don't you still got your local files your local editor but you can it's just transparently in the cloud and that that's really that's really powerful so the demo that I have ready is not going to work but I'm going to be using a few seconds more just to show you that this principle really works so I'm going to create a container you can see there that is um a container with uh th000 th000 GNX gosh that's not going to work that terminal either never mind okay so um just to wrap it up um the value that we're seeing here is not only the fact that you're uploading resources to the cloud the value also comes from the fact that now you can share things because all of a sudden you're putting something in a centralized location that centralized location allows you to interact with other applications that are already in the cloud with other users users all of a sudden now talk to that engine they can access an environment that is you know remote is in a centralized location so um I wish that I could show you how that works because it's that simple with Docker desktop now once that you have the application running you click on a port and that cloud engine is not only taking care of syncing the files but also takes care of um sending your traffic locally to the cloud engine so that your applications are executing like if they were here locally pretty much exactly same way and that allows other users from your team to access that cloud engine to access the same applications in exactly same way that they were lock pressing so um that's one critical point and I think I'm out of time so I'm going to hand it over to you just thanks well I mean uh live demos of pre-release things don't always work but um thanks for trying and um it'll be working for the release um but we're really excited about this I think this this we we really like this hybrid model because you know it just gives you that flexibility to choose what works but with the same developer experience um next we're going to go on to security uh security is really important and again with the focus on the inner loop again the worst thing that can happen for a developer you know you're building your application everything's ready to go um youve you've run it through CI you want to ship it to production and then your security team tell you oh sorry there's some vulnerabilities you have to fix there's things you have to do and it slow again it slows you down so we really want to shift this stff you know back to the developer back to the inner loop so you can fix the stuff as quickly as possible but with the right you know Focus um we really want to discover vulnerabilities as soon as possible um and give you recommendations you know right in the IDE right on the desktop about what needs to be fixed so that when you when you actually push through the outer loop into CI everything's fine you can go to production straight away so um Docker Scout which is our security tool provides you Advanced image analysis like right on the desktop and in your container registry in in you know in AIA or whever and um can give you kind of live updates you don't have to rescan images it just makes an index once and then it can give you updates when a vulnerability happens later on um can give you alert so it's very the the workflow is very much um designed for that fast feedback live updates whenever things actually happen and then it gives you recommendations for exactly how to fix things exactly where which which image whether it's from your application image or the base image or wherever the things coming from it tells you which part of it you need to fix um so you can really make informed decisions quickly and fast um there security vulnerabilities are you know can be really uh difficult to deal with and it can be a very difficult communication thing between the um the security team and the development team and we really aim to shift the it so that developers can um action things easily and quickly um and help the security team um you know we we prioritize things based on relevance and severity so we can prioritize the most important things um and we can actually have customized policies set for your organization so your organization can set policies on things like um vulnerability remediation times um like licenses software licenses for packages you're allowed to use and things like that and we can again we can continuously evaluate those policies and again tell you right in the in the desktop or you know you know as early as possible even like in the IDE we're doing a bunch of IDE integration into vs code for this so that it can tell you to fix things really really early on and set these comprehensive security policies that your organization can customize and set to how they how how what makes sense for your organization and and basically customize the whole the whole Scout system to to your organization's policy so this is really designed to be really flexible and easy for developers um and it's integrated into all the tools you're already using it's integrated into do a hub or into as your container registry um into as your pipelines and GitHub actions so there's a whole set of Integrations around the whole Microsoft ecosystem to make this work more efficiently um and we're going to have a little demo of this from Christian hello and welcome to this quick Docker Scout demo in this demo I want to demonstrate how to use Docker Scout to analyze local and images pushed into an Microsoft Azure container registry let's jump in this is the docker Scout web dashboard you can log in using your Docker Hub ID and one after logging in you'll see the results of the docker scout out of the box policies we have policies for license compliance vulnerability compliance and other aspects of supply chain security such as running images and non-root users supplying all best practice supply chain attestations like Asom and Provence or lastly um everything around um base images so making sure that you're always using upto-date and not outdated or um deprecated base images but but before you can start using Docker Scout on Azure container registry images you have to integrate a Azure container registry you can access the Azure container registry Integrations by clicking on the Integrations tab on the on the leftand menu locate the Azure container registry tile and click on manage in your case you would have a a wizard here to guide you through the connection process of an Azure container registry in my case I did this about 9 hours ago and I'm connected to MSU aure ec. which is my demo container registry over here in the Azure portal I see that that container registry contains a front end repository with a main tag and that's the image that I want to use in this demo so heading over to the images tab in doer Scout and after configuring the integration I can see this particular tag the main tag now being brought into doer Scout and I see also that Dr Scott has has analyzed this image for vulnerabilities and other compliance aspects and I can drill in to see the particular results and um details about kind like the compliance state of this particular image I see that that image has a couple of fixable critical High vulnerabilities and it is also using an outdated base image so next step in this demo is to show you how you can use tools in your inner loop on your laptop to address these two security reports here so let me head over to the terminal here and this is the um G source of this particular sample project that I'm using in this demo and I can use now on my laptop the docker Scout quick view command to look quick view Ms build ECI front and Main I can now use the quick view command to quickly look at the image on my laptop here and this gives me kind of couple of really interesting information I have this little check box here checklist here of things that I can do locally in with my development tools to address these security reports um so for example there's a there are still a couple of fixable critical High vulnerabilities that I want to address and I want to definitely take care of the outdated base images that I'm using jumping right in uh base images I can drill in a little bit further and take the dock Scout recommendations command as suggested um down at the bottom here and get very detailed um recommendations on what to do with my base image So currently I'm using Alpine 314 that was apparently pushed two years ago it seems very fairly outdated and Docker Scout is now giving me based on what I'm using right now it gives it it recommends me a 319 tag and that would remove a couple of vulnerabilities it's also a lot new newer so contains a lot um updated packages and a lot of the cve fixes that I'm that I'm trying to apply to this image so heading into vs code uh and opening up the docker file gives me some really interesting information here so this is the docker um vs code extension with some special Docker Scout integration and I can hover the from line here and I get recommended tags so bringing the same information that you saw on the CLI into an IDE where developers live each and every day so I can now go ahead and say I want to apply the Quick Fix to update to 319 going back to the CLI now and I can quickly use a Docker build command to run a local Docker image build to verify a couple of things first of all that I didn't break the image and secondly that I actually fixed the security concerns so I did run the image build now and I want to bring in Docker desktop to show you how Docker desktop integrates Docker Scout to kind like really visually represent the composition of an image helping you to navigate the different layers and different aspects of a container image so you can see by upgrading our base image we fixed all the um vulnerabilities this is indicated by these little green check marks and if I go over to the packages tab I see the various kind like packages all coming from our Asom that we produce during the build so in this demo I showed you really quickly how you can use um the docker Scout as your container registry integration to bring in images from Azure and I also showed you how you can use Docker Scout Tooling in the CLI embedded in Docker desktop to address common security concerns and policy valuations very quickly and efficiently that's great so um we we I've talked about a bunch of stuff but um there's nothing better than having customers and uh we've got Allan here who's from JP Morgan who's actually um you here live um to talk about their experience accelerating application delivery from months to minutes and this is a sort of story we'd love to see um and uh so Alan's going to be at the booth um later um hello I'm Alan torren head of Open Source and developer productivity for GP morg payments today I'm excited to share a demo building faster together using GitHub co-pilot and Docker with GP Maring payments apis I'm hoping this educates and entertains but also illustrates the power of speeding up the developers interlop by integrating GP marting payments apis with Docker alongside GitHub and co-pilot we create an environment that accelerates the software development by cycle process let's look at what this means we are able to help accelerate application delivery from months to minutes by improving this inner loop around the sdlc for developers in the design phase we provide open access to our apis on the payments developer portal in the testing phase we leverage Docker desktop and Docker Hub to test locally and share common images and implementation phase we leverage GitHub co-pilot AI to accelerate our coding and testing this is the key in the loop for every developer let's take a closer look at the tools I mentioned firstly Docker desktop that provides a way to share and run secure images locally secondly payments developer portal that provides access to the apis and documentation we need and of course GitHub co-pilot our AI assistant that will accelerate each step from within our ID let's set up a simple use case this use case represents the many ways today that we use loer internally and externally we created a retro game where you can earn some coins we then created a swag shop with an online payments API where you can exchange your in-game coins for swag you can probably tell I love retro games almost as much as I love great swag again this simple use case illustrates one of the many ways we use these great tools to help accelerate our sdlc in our Loop so that we are using some real apis let's use online payments from GP Morgan what I do here is Navigate to JP Morgan payments developer portal from here I can explore the apis and documentation I'll take the online payments API shown here I can now get started with my swag store quickly okay let's get some code JP Morgan payments has a GitHub presence on here I can access lots of showcase app and Integrations to get me started quickly I can view and check out some code directly into vs code ID to highlight our use of AI here I am in vs code GitHub copilot directly links into my IDE I can quickly and correctly generate the code I need in this case a simple react component for loading and we are done it's that simple and quick now for the real magic let's download some secure images from dockerhub searching for JP Morgan payments from within Docker desktop it is that quick and simple let's take a retro game for example I can set a port to run it locally and just like that we have a retro game downloaded and running locally superb it gets better all of my team can easily download these same secure images and run them locally all accessing the same version from their laptop or virtual desktop thanks to Docker desktop is that easy let's not stop there by using Docker we can deploy these images onto azour or any cloud provider it just works consistently let's recap we have used Docker desktop and GitHub co-pilot as part of our inner or sdlc to quickly and simply iterate on a use case like we do every day this shows that are of the possible all we can achieve when we work together helping reduce application delivery from months to minutes thank you thanks so much um now we're going to talk finally about geni um we are today introducing the docker extension for GitHub co-pilot which allows you to talk to at Docker in the in GitHub copilot chat um and um learn about how to build Docker tools how to generate uh Docker files and compose files um and how to find vulnerabilities with Docker Scout so it integrates all all our tools together in co-pilot um we just got time for a quick demo I think so I'm on github.com and I've got a repo with a react front end spring backend and a mySQL database this repo isn't yet contained ized but Docker can help us with that the docker extension for GitHub co-pilot is helpful for existing Docker users and folks looking to learn about containerization and get started so let's start by asking at Docker about containerization so I'll type at Docker can you tell me about containerization what are its benefits and so it looks like it's printing out a bunch of different benefits of using containers which is awesome and that all sounds super super useful uh so let's ask the docker extension for GitHub co-pilot to containerize our app so I'll type at Docker can you help me containerize my app so let's see what it did so okay oh great it generated a couple of different assets and also provided us with some explanation of what each file does so we have a Docker file for each of our services so we have one for our front end and one for our back end and it looks like it also successfully detected the languages for each of our services so and if we click into these we can also see that uh each of the files is using a multi-stage build which helps with both optimizing things and improving the overall readability and maintenance of each file so that's awesome we also have a Docker compose file which is really great because that'll help us spin up our app end to-end in containers which is really nice for our local development scenario oh and it looks like the docker extension for GitHub co-pilot is also asking me if I want to open a PR and so I'll say yeah let's open a PR and so it looks like it opened a poll request for us with these assets we have a nice uh pull request comment here which helps us Orient ourselves and then if we click in to see the files change we can see that it added two Docker files one for our front end and one for our back end a compos file and a couple of Docker ignore files which is awesome but let's imagine that I'm new here and let's see if Docker can tell me about how to use these files so I'll type at Docker how do I use these Docker files in the docker composed yaml file so you see it can help you there help you with building the docker files and so on so it's it's really really helpful um that's in preview now you can sign up for the beta program um and it'll be out out later on um and so um yeah so so yeah sign sign up and check it out now um we don't have time to show you the full genio stack but we will be showing it at the um Booth this lets you create rag applications in Docker really really quickly um Rodney was going to do demo we didn't have time but it's um really really effective and quick um so we'll skip that demo um so Better Together story as you can see with Docker Microsoft really strong you know we we work very closely with Microsoft we're building all these great tools together to accelerate your development flow um and um check out Docker 431 which has all these previews in the um the arm support um is there come to our booth and we can show you all these demos more demos um Alan from JP Morgan will be there um and so uh be great to see you there later on today thanks so much e
Original Description
Discover the power of Docker and Microsoft's partnership in streamlining dev processes across Azure, Windows, and Dev Box. Learn how to build and run containers efficiently, ensuring consistency and boosting productivity within the inner loop of development. This session offers insights into best practices, fostering a collaborative, innovative, and resource-optimized development practice.
𝗦𝗽𝗲𝗮𝗸𝗲𝗿𝘀:
* Anthony Cangialosi
* Justin Cormack
𝗦𝗲𝘀𝘀𝗶𝗼𝗻 𝗜𝗻𝗳𝗼𝗿𝗺𝗮𝘁𝗶𝗼𝗻:
This video is one of many sessions delivered for the Microsoft Build 2024 event. View the full session schedule and learn more about Microsoft Build at https://build.microsoft.com
BRKFP295 | English (US)
#MSBuild
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
Playlist
Uploads from Microsoft Developer · Microsoft Developer · 0 of 60
← Previous
Next →
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Prepare for the DP-300 exam & the Azure Database Administrator Associate cert | Data Exposed
Microsoft Developer
What I Wish I Knew ... about landing a job in tech
Microsoft Developer
Igniting Developer Innovation with Vector Search
Microsoft Developer
Combining the power of vector search with Azure OpenAI then revolutionize image search with vectors!
Microsoft Developer
What I Wish I Knew ... about finding your place in tech
Microsoft Developer
Fluent UI React Insights: Accessible by default
Microsoft Developer
Signing Container Images with Notary Project
Microsoft Developer
What I Wish I Knew ... about finding your place in tech
Microsoft Developer
What programming languages does GitHub Copilot support?
Microsoft Developer
What I Wish I Knew ... about how much your job can change
Microsoft Developer
What I Wish I Knew ... about how much your job can change
Microsoft Developer
How do I become more confident about AI?
Microsoft Developer
How do I become more confident about AI?
Microsoft Developer
Performance Demos of SQL’s Intelligent Query Processing Feedback capabilities | Data Exposed
Microsoft Developer
What I Wish I Knew ... about coming to Microsoft
Microsoft Developer
What I Wish I Knew ... about coming to Microsoft
Microsoft Developer
Revolutionizing Image Search with Vectors
Microsoft Developer
Igniting developer innovation with Vector search and Azure OpenAI
Microsoft Developer
Getting Started with Azure AI Studio's Prompt Flow - Part 2
Microsoft Developer
What I Wish I Knew ... about finding my career path
Microsoft Developer
What I Wish I Knew ... about finding my career path
Microsoft Developer
Windows Terminal's journey to Open Source
Microsoft Developer
Can I trust the code that GitHub Copilot generates?
Microsoft Developer
What I Wish I Knew ... about interviewing
Microsoft Developer
What I Wish I Knew ... about interviewing
Microsoft Developer
What is the Microsoft TechSpark Program?
Microsoft Developer
SQL Server 2022: Accelerate query performance while reducing query compile time - w/ no code changes
Microsoft Developer
What I Wish I Knew ... about discovering computer science
Microsoft Developer
What I Wish I Knew ... about discovering computer science
Microsoft Developer
Call center transcription and analysis using Azure AI
Microsoft Developer
How to use Text Analytics for health in Azure AI Language
Microsoft Developer
Azure OpenAI-powered summarization in Azure AI Language
Microsoft Developer
Accelerate data labeling using Azure OpenAI and Azure AI Language
Microsoft Developer
Building a Private ChatGPT with Azure OpenAI
Microsoft Developer
What I Wish I Knew ... about how to interview
Microsoft Developer
What I Wish I Knew ... about how to interview
Microsoft Developer
Getting Started with Azure AI Studio's Prompt Flow - Part 3
Microsoft Developer
Intelligent Apps with Azure Kubernetes Service (AKS)
Microsoft Developer
Getting Started with Azure Blob Storage | Data Exposed: MVP Edition
Microsoft Developer
Chat + Your Data + Plugins
Microsoft Developer
What I Wish I Knew ... about different career paths
Microsoft Developer
What I Wish I Knew ... about different career paths
Microsoft Developer
Advanced Dev Tunnels Features | OD122
Microsoft Developer
Learn Live - Manage performance and availability in Azure Cosmos DB for PostgreSQL
Microsoft Developer
Plan your SQL Migration to Azure with confidence | Data Exposed
Microsoft Developer
What I Wish I Knew ... about social skills in a tech career
Microsoft Developer
What I Wish I Knew ... about social skills in a tech career
Microsoft Developer
All About Vectors, Search, and Function Calling in Azure OpenAI - Labor Day Special
Microsoft Developer
Introduction to project ORAS
Microsoft Developer
What I Wish I Knew ... about finding the right major
Microsoft Developer
What I Wish I Knew ... about finding the right major
Microsoft Developer
What I Wish I Knew ... about how to approach programming
Microsoft Developer
What I Wish I Knew ... about how to approach programming
Microsoft Developer
Learn Live - Scale from a single node to multiple nodes with Azure Cosmos DB for PostgreSQL
Microsoft Developer
What I Wish I Knew ... about diversity in tech #1
Microsoft Developer
What I Wish I Knew ... about diversity in tech #1
Microsoft Developer
Get started with SQL Server AGs across Windows, Linux and Container Replicas | Data Exposed
Microsoft Developer
Writing LLM Apps with Azure AI and PromptFlow
Microsoft Developer
What I Wish I Knew ... about how cool working in tech could be
Microsoft Developer
Open Source foundation models in Azure Machine Learning & optimization techniques behind the scenes
Microsoft Developer
Related Reads
🎓
Tutor Explanation
DeepCamp AI