Yeah... 32 years for me. And been there for the evolution. Remember when client server was a brand new idea! WOW I just started at a new high profile company and they don't have virtual machines for development. I thought that was so odd. Unfortunately everyone is using their laptops. But I'm trying to introduce better workflows. But someone just suggested a container approach and it sounds interesting. haven't watched the videos yet. But I hope I can find a comparison between a VM and a container for dev environments. I can see how a containerized approach would solve so many problems for VMs, but for what cost? Is there a trade off?
I have been a developer working on several specialized technologies, like 3D graphics, GPGPU, AI/ML and simulation. Devcontainers have changed the way I code and made it seamless to setup very complex dev enviroments, including h/w accelerated and multi-toolchain, multi-container and other kinds of environments that would take "normal" processes a giant onboarding doc and a day or more to setup. My startup is also investing heavily in devcontainer based tooling as a seamless way to IaC and deployment. Add Linux to this and you have just the BEST dev experience ever. This is the single best thing I've discovered in my 2.5 decades of programming. KUDOS, VS Code team!
This looks very interesting. A future video might show how to take a "typical" developer environment with all the various tools required for various project installed locally and move the projects into their own dev containers. I am sure there are many developers who find themselves in this condition and would benefit from a demonstration of how to do this. Thank you for an excellent video!
I have been using WSL2 for creating desired environments, but that was completely manual process takes 30 minutes to completely setup and development ready. This Docker Dev container concept is really clever. Under the hood, it used WSL2 in Windows, which is very efficient and virtually no performance drop.
Vs code was trying to get me to install docker and dev container and I didn’t know what it was until now. So this video was extremely valuable information
Honestly, this gives me a lot of excitement on creating new projects. Setup and managing multiple dependency services like Databases is usually the biggest annoyance. So easier use of your actual code using this easy Dev Containers feature plus using docker directly for database, cache, search, etc dependencies is like night and day in my workflow.
I was looking for Portainer app templates yesterday that would create, an environment with all dependencies needed, this just ticks all the boxes. THANK YOU :)
Thank you for this short demo, looking forward to learn about more advanced topics. I somehow skipped the part in the official documentation stating that we can get a list of the most common commands by clicking on the "Remote Indicator", thanks for bringing that up.
I love dev containers since day one. I lately came back to a project with compose setup but I was missing the "Dev Container by existing Dockerfile/Docker-compose" on the command palette. Why was this removed?
I am not able to understand the diagram shown at 0:50. I think some of the flow / arrows are pointing in the wrong direction. I wish she had explained it in the video.
@@code The arrows pointing towards the source code in the Container at 0:50 both from Local OS source code and the VS Code server. Shouldn't the arrow be pointing from the source code to the server?
This does seem quite amazing but besides being a little easier to setup could you talk about the additional benefits or differences to just using a docker-compose file?
@@jeffreysmith9837 Wrong. This helps alleviate issues between different OSes. For example, if you have bash scripts that use `sed`, Windows dosen't support sed, and Mac and Linux (used in CI/CD) have differences. This makes sure everyone is running the same environment.
@@thephoenixstudio why would I have incompatible bash scripts if I go through the effort of dockerizing the app. Might as well dockerize the bash scripts too
Not when I have 60+ repos for the same team where we want to keep them all on the same set of tools. We are using GitOps and all of these repos are extremely active and it would be a nightmare if we had to manually update them (or even script something to update the devcontainer.json file and commit). But we also support 100+ other repos that have different requirements so we do want to let those repos be different based on the toolset that that dev team is using.
Where can I go to learn how to do marlin firmware for 3D printers. I learned some from watching RUclips videos but I’m having a hard time to get marlin firmware to compile into firmware.bin file in visual studio code and I can’t figure out how to get GitHub copilot to work
Is there a way to load extensions sequentially? Marlin Autobuild fails to load in a dev container due to being dependant on Platform IO, and Platform IO takes a few seconds to initialise properly. this isn't a problem outside a container with a persistent environment as it only fails the first time, but with a container it now fails every time
Microsoft's next project : Share Application requirements with Microsoft bot and it will do everything from development to deployment and respond to you in few seconds.
why do i need this, if i have already configured docker? i mean - in big team, we have a docker i run it, all my colleagues run it. All of us have the same environment because we up it from the same config thats how we can both use and run the same stuff looks like useless toy. Maybe there is a good articles about it?
Isolation beyond python packages (environment variables, files, other dependencies, etc); automation (no need to generate and activate virtual envs then install requirements); sharing with other devs; "dev-environment-as-code"... The list goes on and on
I don't want to sound unappreciative as this video explains a bit more than most, but I've never written any serious code that was a simple one container, python static webpage. When are we going to get some 'best practices' on real applications with real configurations of multiple containers (app, web, database, etc.) I've basically given up on using the VSCode built in 'devcontainer' support and gone back to just writing up docket-composer and dockerfiles as using the command pallet process always gives confusing prompts about overwriting things, and no matter what I answer it's always a case of it 'not working', so I just go back to mostly manual configuration. Lots of potential, but just not quite 'there' enough to delivery on the promise it 'seems' to claim to offer (quick, effortless set up and configuration of an application ... Real application, not just a simple sample single container .. environment.)
I like it, isolated environments for whatever project you want to quickly work on without breaking or mutating your own environment. Adoption is going to take a while though
@@rehthro oh, I get that, but if I'm going to work on an application that only requires one container then I'm not sure how much actual effort I'll be saving using VSCode devcontainers vs just pulling an image from docker hub and attaching to it? The argument that I can share the devcontainer with the team for consistency seems a bit hallow in that would I really be working with a team to build an app that only used one 'technology' in one container? Maybe? But again I'm not sure how much effort devcontainer saves vs a readme with a 'docker run' command?
Thanks so much for your feedback!! We love hearing what content we can put out that will be the most helpful, and we'll add this to our list of future ideas for a video or livestream!
@@squishy-tomato but you don't need containers to do any of that configuration, the are profiles that can do almost all of that stuff ... Don't need Docker containers to do any of that.
@waterbonkle6346 yeah, it never meant to be as usable, as on pc, but they showed in some video, that you can do some small work, such as fixing typos, while being on vacation without your laptop
Hey how you doing? Thank you so much for this video tutorial. Can you please help me to find Dev Container for CakePHP framework? I really need that stuff. Hope you reply me.
I still get this, why not just use a docker file to create a container. Why do I need to use some other configuration to build a "dev" container. I don't see the benifits, or you did a poor job of explaining dockers 101 as some useless vscode plugin.
I've been in IT for 35+ years, in various walks including development... and even this just looks like pure magic to me...
Dev containers ARE magic!! So glad you enjoyed!
Because for 35 years, there have been teams dedicated to building developer experiences that feel like magic.
Yeah... 32 years for me. And been there for the evolution. Remember when client server was a brand new idea! WOW
I just started at a new high profile company and they don't have virtual machines for development. I thought that was so odd. Unfortunately everyone is using their laptops. But I'm trying to introduce better workflows. But someone just suggested a container approach and it sounds interesting. haven't watched the videos yet. But I hope I can find a comparison between a VM and a container for dev environments. I can see how a containerized approach would solve so many problems for VMs, but for what cost? Is there a trade off?
the fact that the code writes it self at 0:54 is fascinating.
may be black box ig or chatgpt
@@squishy-tomato yes dude. 😅 To clear the concept
Lol it's GitHub Copilot making a cameo
hahaah./yeah😁
AI taken to the next level
I have been a developer working on several specialized technologies, like 3D graphics, GPGPU, AI/ML and simulation. Devcontainers have changed the way I code and made it seamless to setup very complex dev enviroments, including h/w accelerated and multi-toolchain, multi-container and other kinds of environments that would take "normal" processes a giant onboarding doc and a day or more to setup. My startup is also investing heavily in devcontainer based tooling as a seamless way to IaC and deployment. Add Linux to this and you have just the BEST dev experience ever.
This is the single best thing I've discovered in my 2.5 decades of programming. KUDOS, VS Code team!
This looks very interesting. A future video might show how to take a "typical" developer environment with all the various tools required for various project installed locally and move the projects into their own dev containers. I am sure there are many developers who find themselves in this condition and would benefit from a demonstration of how to do this. Thank you for an excellent video!
I have been using WSL2 for creating desired environments, but that was completely manual process takes 30 minutes to completely setup and development ready. This Docker Dev container concept is really clever. Under the hood, it used WSL2 in Windows, which is very efficient and virtually no performance drop.
Vs code was trying to get me to install docker and dev container and I didn’t know what it was until now. So this video was extremely valuable information
Docker is goated
So glad you found it useful! Thanks for watching!
Honestly, this gives me a lot of excitement on creating new projects. Setup and managing multiple dependency services like Databases is usually the biggest annoyance. So easier use of your actual code using this easy Dev Containers feature plus using docker directly for database, cache, search, etc dependencies is like night and day in my workflow.
Unfortunately, it didn't work with Docker containers for me, attaching to a running container just hangs forever at "Starting Dev Container"...
This is great, I think I’ll clear out and reset my vscode and use dev containers for all my projects, everything is clean and separated out that way
Yessss, dev containers make working on multiple projects so much cleaner and easier!
I was looking for Portainer app templates yesterday that would create, an environment with all dependencies needed, this just ticks all the boxes.
THANK YOU :)
Thank YOU for being here and sharing your feedback!
The Dev containers are amazing, thanks for this video!
Thank you for this short demo, looking forward to learn about more advanced topics. I somehow skipped the part in the official documentation stating that we can get a list of the most common commands by clicking on the "Remote Indicator", thanks for bringing that up.
wow, you are a very good presenter, good job.
Why do dev containers need their own config to declare VSCode extensions. We already have extensions.json, couldn't it just use that?
I love dev containers since day one.
I lately came back to a project with compose setup but I was missing the "Dev Container by existing Dockerfile/Docker-compose" on the command palette. Why was this removed?
Super helpful video. Thanks!
I am not able to understand the diagram shown at 0:50. I think some of the flow / arrows are pointing in the wrong direction. I wish she had explained it in the video.
Which arrows are confusing?
@@code The arrows pointing towards the source code in the Container at 0:50 both from Local OS source code and the VS Code server. Shouldn't the arrow be pointing from the source code to the server?
Great video. Love Docker and containers
well done! good intro to the dev containers
Complex technology is indiscernible from magic
This is great, especially for python devs
This does seem quite amazing but besides being a little easier to setup could you talk about the additional benefits or differences to just using a docker-compose file?
One benefit is you can easily define vscode extensions to be used in your container.
Nothing
@@jeffreysmith9837 Wrong. This helps alleviate issues between different OSes. For example, if you have bash scripts that use `sed`, Windows dosen't support sed, and Mac and Linux (used in CI/CD) have differences. This makes sure everyone is running the same environment.
@@thephoenixstudio why would I have incompatible bash scripts if I go through the effort of dockerizing the app. Might as well dockerize the bash scripts too
@@jeffreysmith9837 That dosen't help if the scripts need to be run locally...
I would love to see how to keep a devcontainer that is used by lots of projects up to date across all of those projects.
Isn't the point that you have a dev container per project? They should not be sharing. That would just be a development machine in that case
Not when I have 60+ repos for the same team where we want to keep them all on the same set of tools. We are using GitOps and all of these repos are extremely active and it would be a nightmare if we had to manually update them (or even script something to update the devcontainer.json file and commit). But we also support 100+ other repos that have different requirements so we do want to let those repos be different based on the toolset that that dev team is using.
The python you container you present runs flask then an html file inside flask. I can use an html editor for that. How do you run .py files?
How do I keep the changed code or added additional files leveraging the installed dependencies when connected to remote container ?
Where can I go to learn how to do marlin firmware for 3D printers.
I learned some from watching RUclips videos but I’m having a hard time to get marlin firmware to compile into firmware.bin file in visual studio code and I can’t figure out how to get GitHub copilot to work
Is there a way to load extensions sequentially? Marlin Autobuild fails to load in a dev container due to being dependant on Platform IO, and Platform IO takes a few seconds to initialise properly. this isn't a problem outside a container with a persistent environment as it only fails the first time, but with a container it now fails every time
Apart from VSCode extensions, what's the difference on using just docker-compose file?
Nothing. Just another repackaged tool like every software since 2010.
well I'll be... but can my host code compile with the container code or viceversa without it just being exclusive to the container?
MS + VSCode = Powerful
Isn't the whole it works on my mac and not on Windows what docker was for in the first place?
This is all good but python extension test discovery doesn't work for two months now
Microsoft's next project : Share Application requirements with Microsoft bot and it will do everything from development to deployment and respond to you in few seconds.
I am unable to open folders throught vs code explorer and it is not showing any folder in vs code explorer ,someone please help
The video I was waiting for!
why do i need this, if i have already configured docker?
i mean - in big team, we have a docker
i run it, all my colleagues run it. All of us have the same environment because we up it from the same config
thats how we can both use and run the same stuff
looks like useless toy. Maybe there is a good articles about it?
Amazing!!!!! I love VSCode ❤
Really nice tutorial :) !
This is awesome!
Thanks a lot!
What's the difference between this Dev Containers and creating local .env?
Isolation beyond python packages (environment variables, files, other dependencies, etc); automation (no need to generate and activate virtual envs then install requirements); sharing with other devs; "dev-environment-as-code"...
The list goes on and on
a container is a VM. .env is a file of variables
Nice..very nice
I don't want to sound unappreciative as this video explains a bit more than most, but I've never written any serious code that was a simple one container, python static webpage.
When are we going to get some 'best practices' on real applications with real configurations of multiple containers (app, web, database, etc.)
I've basically given up on using the VSCode built in 'devcontainer' support and gone back to just writing up docket-composer and dockerfiles as using the command pallet process always gives confusing prompts about overwriting things, and no matter what I answer it's always a case of it 'not working', so I just go back to mostly manual configuration.
Lots of potential, but just not quite 'there' enough to delivery on the promise it 'seems' to claim to offer (quick, effortless set up and configuration of an application ... Real application, not just a simple sample single container .. environment.)
I like it, isolated environments for whatever project you want to quickly work on without breaking or mutating your own environment. Adoption is going to take a while though
@@rehthro oh, I get that, but if I'm going to work on an application that only requires one container then I'm not sure how much actual effort I'll be saving using VSCode devcontainers vs just pulling an image from docker hub and attaching to it?
The argument that I can share the devcontainer with the team for consistency seems a bit hallow in that would I really be working with a team to build an app that only used one 'technology' in one container? Maybe? But again I'm not sure how much effort devcontainer saves vs a readme with a 'docker run' command?
Thanks so much for your feedback!! We love hearing what content we can put out that will be the most helpful, and we'll add this to our list of future ideas for a video or livestream!
@@squishy-tomato but you don't need containers to do any of that configuration, the are profiles that can do almost all of that stuff ... Don't need Docker containers to do any of that.
You realize you can use docker-compose with this... right? This is only a different way to spin up a Docker container.
Does it work with podman
Awesome 🎉
Btw, is she Jennifer Connelly's sister 😅
Bring a android version of VS-Code ;)
There is a web version
@waterbonkle6346 yeah, it never meant to be as usable, as on pc, but they showed in some video, that you can do some small work, such as fixing typos, while being on vacation without your laptop
@@squishy-tomato maybe, Termux with Vim/NeoVim could do better
@@squishy-tomato well said man
@@dmytrk bringing an android version will help a lot of people, like those who haven't any laptop or desktop.
support podman?
Hey how you doing? Thank you so much for this video tutorial. Can you please help me to find Dev Container for CakePHP framework? I really need that stuff. Hope you reply me.
Feels like watching an advertisement.
not sure how that would apply to "dev" in general, seams very specific to webdev
@@AndreiGeorgescu-j9p i'm sure you can use similar tools for other kind of dev, but this tutorial in pretty specific
Your code will just work without downloading anything on your machine, let's get started....Download and install docker on your machine 😅
If only those plugins were included in your IDE. Then there would be no need to configure them in dev-contianers...
I like! but what we really need is a cloud operating system.
what about no
ssh into vps
I still get this, why not just use a docker file to create a container. Why do I need to use some other configuration to build a "dev" container. I don't see the benifits, or you did a poor job of explaining dockers 101 as some useless vscode plugin.
The facecam looks like it has been generated by an AI lmao
Docker... no, not interested.
I hate to say it but she's rambling. I would feel better if it was a guy. I also have a feeling a guy would not talk so much.