I'm joined by fellow Docker Captain Nuno do Carmo to talk about WSL2 for Windows 10 and Windows 11.
Unedited live recording with demos on YouTube
- Demos start at 00:43:08 in the show
- Nuno on Twitter
- (one of) Nuno's blogs
- Install WSL on Windows 10
- Blog: WSL2 design internals
- Windows Terminal
What is DevOps and Docker Talk?
Interviews and Q&A from my weekly YouTube Live show. Topics cover Docker and container tools like Kubernetes, Swarm, Cloud Native development, Cloud tech, DevOps, GitOps, DevSecOps, and the full software lifecycle supply chain. Full YouTube shows and more info available at https://podcast.bretfisher.com
Bret: You're listening to dev ops and Docker talk.
And I'm your host, Bret Fisher.
These are edited audio only versions of my YouTube live
show that you can join every thursday at bret.live.
This podcast is sponsored by my Patreon members.
I'd like to thank all of the paid supporters that make this show possible.
You can get more info and follow my updates on all the content.
And open-source, I'm creating at patreon.com/BretFisher.
That link as well as all the links of this episode are available in the
show notes and on this podcast website at podcast.BretFisher.com dot com.
This week, we're talking all about WSL2.
That's the windows subsystem for Linux version two.
And especially in windows 11, where we're getting some nice new features and I have a special
guest on the show because it's the second time this year that Nuno do Carmo has been on the show.
He's a Docker captain and a whole bunch of other things that we'll get into.
So if you're a developer and operator assist admin, or just a Linux hobbyist, you'll definitely
want to check out this episode of WSL2 features and windows 10, and what's coming up and windows 11.
Now on what the show.
I'm excited this week because now we have a guest for the
second time this year, which I think is a first in 2021.
This is Nuno.
Nuno: Hi, everyone.
Bret: He's the captain Corsair and you've seen him on here before.
We've talked WSL2.
He's a Docker captain.
He a Microsoft MVP.
He's a CNCF ambassador.
He's like the trifecta.
He's like the, he got of container community.
He has all the credentials.
So Thank you.
so much for being on the show.
Nuno: Thank you.
Thank you very much.
And really appreciate it.
And Hey, I made it first then I'm the first one to come by twice,
Well, in the same year
I've had normal on before and maybe normal is actually a part of that club too.
Cause now I think
Nuno: Yeah, I guess
Be treats I've seen, but yeah.
Bret: He's hopefully he's not watching right now.
Cause he'll be like, what do you don't remember?
We just did it.
Thank you so much again.
I love WSL2.
I'm not even a windows daily user.
I have windows all over my house, but it's not something
that I live on a Mac normally most days, but I wish I had it.
Like I miss it.
I want it.
Apple will probably never give it to us.
You spend a lot of Your time, like you have a blog about this.
You spend a lot of your time talking about WSL your demos earlier this year,
we're going to put these in the show notes for those that didn't watch it.
But that's a great video of just talking about WSL2 on windows 10 and like going through some demos.
And that was basically, if you are you're on this live stream, now everyone, you can go back
and watch that episode, just look up our names basically on YouTube and you find that video.
But for the, those that didn't see that video, they
weren't here six months ago, they missed that show.
Give us the context of what this acronym even is and why do we care?
Yeah, so the very beginning is like WSL windows, subsystem for Linux, actually that's Linux
running on windows, but for some marketing and trademark proposed windows to come first.
So that's why it's a subsystem is the Linux because that's
Linux subsystem on windows, but then it's inverse you too.
Yeah, I guess trademarks.
So it's, it was born back in or created at least back in 2000 16,
15, 16, around that when the ins windows insiders also started and.
One of the first windows insiders at these WSL.
So out to add it to, it was called bash on Linux, by the way.
And bash on windows, sorry, bash on windows.
And then it came out of nowhere.
Nobody was really, let's say expecting at least the community and rich Dorner.
So the first person not Microsoft, that to lead that to the program for WSL made made this
demo where you just launchable into does the not updates and not the upgrade installs an
application and now application on modified Linux application on windows and launch it.
And everyone was like, what the hell just happened?
Like Al froze that day.
And Then bash on windows was it built together actually
with 2, 1, 2, and then it it became WSL one a few years.
Sorry, I'm doing like a very speedy introduction here, but it, from WSL one that
was the user space of Linux inside windows, but steely add some limitations.
So there's plenty of videos.
There's books actually from friends that are coming out about WSL that
explained that actually, what were the limitations and what are the limitations?
We double this at one, which was more like a translation
layer from what cleaners commands we are running.
And he translates it into a system calls about, for the windows kernel.
, it means that of course, because of the differences of the criminal out, they
are built, but also how people forgot that windows was our empty Colonel.
That's still what we have today.
So it's was built back in the day where Unix was king.
So we add like the Unix tooling for windows, or I don't
remember the name now, but we had already something like that.
Bret: Like the
Nuno: was a feature.
Bret: like subsystem, some like
Nuno: No, it was Unix.
Bret: or Unix.
Bret: I remember that.
Nuno: I mean, there's some Cisco's that's might have never been used by
how do you say by by windows itself, but they were built in because it was
really to match actually the competent ability between Unix and windows.
So it makes sense.
So now fast forwards these calls, right?
The system calls were already there.
They were not used, but they were already there.
So when you looked like the compatibility list of system calls, there's like
maybe 80 or 90% even that are actually implemented for double as at one.
But then the last bits are really like what separates a Linux kernel from a windows.
So that's the WSL one.
Bret: it was I looked at it as like a it was great for getting started.
Like it was super fast.
It did what you needed to do.
It was easy.
It was way easier than installing a VM, but then The minute you tried
to do anything, advance, like run my SQL or win or Docker or whatever it
Nuno: The moment that you needed to work with sockets, it was the end.
There was some let's say there was some acts to get actually Docker
CLI to connect to a pipe actually to the Docker engine working
on Moby VM, which was the, like making the data, the name right.
For the Docker desktop.
So we cooled, we could do something like that.
But again, that was I say I came to good sense.
I sold hacky.
Nuno: you need.
It's something that you need to actually put in place.
You have to configure and stuff like that.
So when Microsoft then announced double sell to, so again, a bit fast forward, the
only sell to now is running on top of the visualization capabilities of a window.
Okay, so tink, hyper V, but it's called really visualization platform.
And this virtualization platform, what it does is like
it allows micro VMs, if you want to to be just created.
And one of those is for WSL.
So now, which says, VM says also a little bit a shift in
the, let's say the application or the paradigm, right?
It means like before there was a one, you can just use it everywhere.
Now, the Liesl too, you need to add a computer with a CPU that is a visual visualization enables.
It could be AMD.
So I'm running named, yeah.
We'll show afterwards, but TK can be armed by the nowadays, I think.
And there's definitively Intel.
But you need to add the visualization capabilities now because it's a
visualization micro VM, but still visual as I visualize environments.
Well, now we have the full Linux kernel that can be loaded.
And now all the system calls are like your box.
For example, I know that use a lot in your courses for example, but imagine
that you have a Linux that you install on usual box, the kernel part.
I don't say the full environment that's important now, but just the Colonel parts.
Well, that's a Colonel that's exactly the same.
That is loaded inside of this Alto.
And now we have pipes.
Now we have sockets the base.
We are also, sorry.
We have sockets, we have maybe iOS and stuff like that.
That's our a bit different.
Virtual box has been like the go-to solution for everyone for decades.
And It always felt to me, very CIS admin, like RA, right.
You're like, Okay.
I want to get a bash shell so I can run.
I want to install something through apt and I want to run it.
I want to run my SQL in Lennox.
And then your duct, all of a sudden, as a developer or just a hobbyist or whatever, like you're
down this rabbit hole with that thing of configuring networking and figuring out you have
to create virtual machine properties and understand all those settings, which I still don't
understand all those settings and, IDE versus blah, blah, blah, like all these different things.
And then you have to go find an ISO of your chosen distributor and then install
that through a very lengthy process that probably takes at least 30 minutes.
It's just, it's crazy.
It's actually, that's still how you use it today and
it's just not, it could be somebody it's better at it.
It's perfect for what it's meant to be a raw utility
for creating of any VM you'd ever want to create.
That's not typically what a windows person wants to do.
Nuno: No, no true.
And that's the funny part because I like in 2008 I was like, I'm a windows guy at heart.
And from the very beginning, 20 years ago now in my career, I started actually into L desk and
doing support, onsite support and going through really, let's say the echelon of support on
windows and then on 2008 for some reasons, my company at, to source and all sorts of was HP.
And I went to HP, but in HP, they didn't need myself into the position that was.
And they actually allowed me to be a Unix administrator for HP UX and Solari sun.
Solar is back in the day.
And now HPUX you forget because that's the Tanya that's other
CPU's, you cannot have it, but some salary cycled installed it.
And the Visual box, just to, just for the part of the, let's say operator more like key is
like you install, here's toolbox, that's easy, but then the first time you have to okay.
Download the ISO.
Now load the ISO.
Now go through the installation process.
And now you reach some parts of, depending on which OSU are right now, today's it's way better.
But your issue is a part of file system.
And I was totally lost okay.
A file system.
Th the terminology, I'm not English speaking, right?
I'm French speaker or Portuguese speaker, but I'm not English by default.
And for me, file system was like, okay.
In windows you have see, is it the file system?
Well, yes, it's NTFS behind the scenes.
The NTFS is the past, but we don't see, let's say.
And now you have these files system that you have created, like slash etc.
Slash a slash itself software Ruud slash own slash Marceau's USR and so on.
And you like, oh my gosh, what is happening here?
So I, sorry to not go to machine that there, but for me, it's
really like the visual box works exactly for what the proposal is.
And it's like to install full blown.
That's the really important now terminology here that they will compare,
but full blown us on top of windows where WSL2 is on the Linux-based Oasis.
So Visual books, you can have net.
VSDs I guess so but it's WSL2 is only Linux for now.
Lowe's the kernel as his own existence.
That's the important part also.
And by default, you did not have graphics when WSL2 came out, there was no graphic.
You have to add like the what you call a display server, right?
X server that was running on the widow's sides.
And then it will like you could show the GUI applications, but that was not the target of
Nuno: application for years.
Bret: very hacky and Yeah.
not this doesn't look pretty.
And it's funny.
Cause everyone wants to take this to its eventual.
the final thing is windows and Linux on the side, the machine always running together, run any app.
I know next is I want to run an Android app.
Like we keep seeing these simulators and things and I feel like we're eventually
this is going down that road of it just allows windows to run free, anything
like, and make it seem like it's Really, running on your host machine.
So WSL2 we have they had some questions by the way.
These are all very there's a basically exactly what you're talking about right now.
Someone asked what would be the best WSL one or WSL2, which would be the best suitable case.
Nuno: Really depends today on what you want to achieve and what you want to do.
WSL one, believe it or not is great.
Like it's great.
Even with limitations is great for Several let's say topics like the ones
that you want just to develop for example, and you don't want to add too much.
I will enter a little bit right now.
There's a pinpoint is like the file system, the performance from WSL wand of the cell too,
but WSL one how it's integrated because it trans directly on top of windows file system.
So there's nothing visualize.
It's really runs a top.
Then the, for some cases I think there's a plenty of let's say examples on the net, but there was
like some cases where the file system was much more performance running, double as a one than the.
Now the other cell one because of the file system limitations, right?
The Cisco limitations w cell two is better for Docker
definitively, and we will enter this discussion just in a bit.
And I have also a small demo and every everything cloud native, if you think Kubernetes and
everything you will need needs, that will sell to you, you cannot just run double cell one
for your, I mean, if you just want to replace like buddy, right, just to SSH into servers,
to SSH somewhere else where you just need your tools where you just need your sorry for the,
just, but you need your tools, you need your how do you say you need your scripts, right?
So your administrators scripts double is a one, does the job and does real.
Bret: That's a great, that's a great point.
I everybody thumbs up on the video, if you've used putty, like a putty is one of those things
where if you've ever had to use another Linux machine and you're on windows, you probably either.
Discovered putty by searching or the tutorial you were watching X says, oh Yeah.
I go use putty.
I started like my first experience with SSH.
So before SSH, we were all using Telnet and Telnet wasn't encrypted.
But that was how I, when I first did shell into Unix machines, it was always telling that.
But I think my first SSL experience was on windows 95 maybe or something like that.
And puddy was first out whenever I don't remember exactly when it launched, but and now
that I've been on a Mac or a system with a native bash shell or ZSH shell, and I use
SSH that way, puddy actually feels weird to me because of the way it's a gooey first.
And then it gives you a gooey for each shell and all that stuff.
So it's funny that you point that out because I've never considered WSL one as really.
The simple shell give me access to some scripts.
All I'm really going to do is just run a couple of basic
things in bash and then everything else I'm going to remote.
So it's like the SIS admin remoting tool, because Yeah.
on my iPad, I have something called a blink show, which I L if
you're using an iOS device, you ever need to use SSH, get blink.
Blink is the best.
It's not, I don't think it's free, but it's not much money.
It's a one-time thing.
And it's absolutely the best full-screen shell.
And the only thing it's in it, it basically, it gives you this full shell of,
but the only commands that are in it are like LS, make their very basic stuff.
And then SSH and mosh, which are all you need.
Anyway, WSL2 too.
Nuno: Yeah but just to end up like with WSL one SSH parts there's one part, okay.
I'll bind it with double sell to them.
There's a part that you still have access to the windows files.
And running a shell on double is a one.
It means that you are running a shell on a local machine.
When you run buddy, you are connecting and then you have
to maybe SEP, so you have a winner CP or maybe file Zilla.
I don't know.
Or even buddy, I think they have like an SEP connect a small application,
like dull this along, you just have your tools and you just install them.
And that's done to convert assist SSH keys, for example, because on
the, when you create a buddy key, it comes in a in certain format.
I don't remember the format, but sometimes you need to transfer this
format into open SSH formats, and then you have to run some commands.
So here you can install open a cessation.
Double is a one, it works actually and you can run the tooling.
So anyway, so back now to, to sell too, but where the bridge opens is like double
the cell to need it, to actually take everything that's made double the cell one.
That was really like the first team that they add in mind.
We need to keep the interoperability interrupt between the Linux user lands,
user space, sorry with the windows user space and the windows file system.
And somehow we're getting there now, but somehow also the windows
networking because double is a one as access to local host windows.
But remember that double cell to now is running, even though
it's a micro VM optimized VM, it's still a VM it's still using.
Then I pervy networking first now.
Microsoft were let's say very smart of course doing that, but
it's like they bound the networks kind of between the, are.
They provide the ability to open ports between double sell to directly into the windows.
So whenever you run something and we will see it afterwards I, I will just do
a very small D mobile that's quite kind of cool is like it's opening a port.
You don't see it because when you are a developer now, right?
So let's move just for developer reports.
I am no real developer.
Let's say I never really developed, but the developers, when I go to a tutorial is like, do this.
So follow these how to develop your application.
Now you run, I dunno, I know JS server or go server or something like that.
And now you go to what you open your browser and you go to locals, call on maybe a
certain ports and then a pass or not, and then need, will show you something, right?
So you expect you using WSL to actually, but essentially I have the same.
I want to open my browser windows, browser, hoots, local
lost on the URL and reach actually what I'm trying to test.
80 port 80 80, for example.
My, my opinion.
So that's becomes even more true when we enter Docker,
because when you develop and you run on containers, right?
So you export the pores and everything, but now the ports, if you
exported it, let's say we twinned, those containers are on Linux.
You export the ports.
So you know that you do locals, call them the port.
And now you know that your port is open because, but even though it's running on your
container well here by having the ports mapping automatically between WSL2 and windows,
it's made possible actually to Docker and Docker, desktop nowadays using leveraging WSL2.
And for the end user that we are right, it's still totally transport.
You run your application, you develop your, create your container.
Then when you run your application, you explored the port and then you can use the local host.
And that's, saying like that is just, let's say, oh, it's normal for me.
It's really ma yeah.
Magic in a sense, right?
Because it's all the layers of abstractions and let's say connectivity
that needs to have something working as if it was in your computer, but
still you are leveraging powerful tools in powerful workflows using Docker.
there's a question that's related to this on Andreas is asking about is it
possible to sin a pain or something Like, that from windows into a container?
And what we're talking about here is that yes.
If you're using not pink specifically, but if you're using a con.
So you step on get Docker desktop.
It will enable WSL2.
And then when you publish a port, whether that's in Docker run or Docker Compose, or
the even Kubernetes, which is built in a Docker desktop, those, when you publish those
ports, they will then be on local host that port when you're on your windows machine.
Now that doesn't mean you can use paying which this nugget we're not going to get in
too much into it, but paying isn't actually TCP or UDP, it's a different protocol.
So technically paying doesn't really work from windows into a container.
At least I don't think that's my understanding that I would have to get
Nuno: no, it won't.
Yeah, it won't work like that because the abstractions is you have a dual NATS.
A dual network translation.
You have the first translation, which is WSL itself.
So if you look at your IP of windows let's say it's, I don't know, like 1 72, blah, blah, blah.
Now you look at the IP of your WSL already is different.
So the addresses are different already.
Now, when you put Docker on top of it, Docker create
also his own network, like the 10 dot blah, blah, blah.
And now let's say normally non-deductible, but you have like different truth.
Let's say layers of networking.
So ping from your site to your container itself might not work.
Maybe there's a use case.
I don't know.
But normally, like Bret just said is more like you run your
application and your application is listening on certain ports.
And now from windows, you can reach these certain ports.
That's an important step.
So the ping was probably a bad example.
They probably didn't want to do ping.
Anyways, I'm going to, I'm going to assume, I'm going to assume that, that they didn't
really specifically need paying from windows because probably what we're talking about
is like a common case here is there's some really great post-grads in my SQL gooeys.
But I don't want to run Postgres in my SQL on my windows machine.
I'd rather run that in a container easy mode.
So it's spin those up in a container, make sure you publish those ports
and then all the gooeys and things on your machine, on your windows machine
that are running natively in windows will easily be able to talk to those.
Also watch our other videos take my course that'll answer all those questions.
The other question that we had very early on, I think with the first question in with Peloton
what's the latest on windows dropping all their server architecture and moving to Linux.
So it's a little bit of a subject change.
We don't have to go deep into it, but what are your, what is your thought on that?
Nuno: Windows server is kicking analyze first.
So they are not dropping, let's say the windows server
it's actually, they are almost doubling down on it.
That's why there's something like how you can, all I can confirm it, let's say
is that if you look all the work that they are trying to put worker notes for
now, at least, but working notes on Kubernetes, which is let's say a little bit
the trendy application and the muscle application nowadays, and the environment.
So the learn, the occur.
First, you learn your containers, then you move to Kubernetes to let's say a bigger environment.
Now, when you reach that, Well, all the work that was being done
between Docker and windows to bring actually windows containers.
Now you will have exactly the same on Kubernetes.
There's other protocols that other let's say workflows and everything.
That's the note needs to actually be able to perform, to be Kubernetes compatible as a note.
So these now ease what we have Microsoft doing, and they are really helping
the, let's say the broader communities about Kubernetes applications and so
on bringing also like these windows flavor and windows server 2022 is great.
Now with all that said one important points.
I am one of the first, let's say in the world that wants WSL2,
that's important, not double the double sell to on windows servers.
That happened just for a small amount of time during
some let's say what they called not the dev, but yeah no.
It's I don't remember now, but it's not the long-term server.
It's like the short there's a term like windows server.
So the semi-annual exactly.
So they brought on 2019 server.
They brought WSL2 for a small amount of time, but now, yeah.
Now going forward, we do not have the, we sell to on windows server 2022, for example, and
not going for now, at least not going Microsoft decided that does sell to at least and other
cell in general, but those cells are really, or she'll be really more targeted at developers.
So that's the, that's just like the small be careful.
Don't expect too much about the other cell to on server.
That don't happen on the short term.
So was 20 sorry.
Windows server 2022 is not having it for now.
Maybe to come with the feature, if really someone complains about it or really needs it.
But with all the work that windows is putting on, let's
say on adding windows, nodes really about Kubernetes.
I'm more speaking about Kubernetes right now, right?
But about Kubernetes, then you don't need WSL2 on windows server.
If you need something Linux on a server, then installing.
Directly and the phrasing was also like, I won't take the server, but
if you go to Asia now, it's, let's say it's a known almost mean is
that Asia runs way more Linux servers than actually windows servers.
Bret: And I'm kind of a fan of that decision too, because
WSL always seemed like a developer and CIS admin tool to me.
And for Microsoft to say, Linux is now running in this, on a server.
I feel like that is a whole world of automation and dev ops and S and system deployment.
That once you say that the community of people think, oh, well,
basically this is how I should run my Linux now on my windows servers.
I have a hyper V box in my closet and windows server running hyper V 2019, edition.
And I run a bunch of different VMs in their windows, 10
VMs , other windows servers, a bunch of Linux machines.
I run them all in hyper V and that's how a lot of windows admins do it.
There's actually still a lot of people out there that use hyper V as their virtualization platform.
Like VMware is not a hundred percent of the world.
And For those people.
When I heard that little, when they went to that little timeline where they said, Yeah,
I was going to work on server.
I thought this is kind of weird because it's not really got the system centers,
infrastructure and all these things that real admins need to run Linux on windows server.
So what is it?
So I actually I approve that decision.
Let's not confuse and muddy.
The waters let's make it a D it's a dev Devin, SIS admin user thing.
It's not a thing for automation on servers in the data center.
Bret: what hyper V is for.
Nuno: Yeah, so the problem is not the problem, but what I had in mind was more like back in
the day I was running like Kubernetes control planes because it's not running on windows.
So the control plane.
So the let's say the main server of Kubernetes needs to be running on Linux now.
When you are in maybe a company that is only Microsoft and windows base like mine
currently the thing is, it was like, okay, WSL is seen as a feature, so I can leverage
most words against still being that the windows server as your own backup is on the domain.
It's really integrated with our, all our deployments processes and yeah.
And and other stuff.
So it's a windows environment.
Now, if I could put like a feature, let's say like I
pervy, but instead of hyper V, now it's called WSL2.
And on double cell two, I can run a control plane of Kubernetes.
Then I could add Kubernetes on premises, maybe for the servers still running on server.
But we'll be running there.
So that was kind of my use case.
But then like you said, the problem is like, when you try, when you have a number, you
do an Amur and then you give someone a screwdriver and they will try to Amur with these.
So the thing is like the WSL to on server might have gone really wrong for certain persons.
And they told okay, I don't have the performance that I want, which is, might be true.
I cannot do these.
I cannot do the other.
And no, if you want to run Linux workloads on production,
please run on Linux directly, not on a feature.
But, so that's going, it'll be tangent here, but that was
Couple more quick questions for you.
And then what let's get to some windows 11 WSL, two demos,
because I definitely want to see some of that gooey action.
I'm going to wrap up though.
I love that the WSL one versus two discussion.
Like I didn't actually expect us to go there, but I'm glad we had it.
I, my mental checklist now is I love the way you framed it.
I would, I personally, as a developer or a CIS admin, I would default to WSU in all cases.
Except if I knew I never knew I was not a developer, I never needed the full apt
get experience or, you know, set Sentosa experience or whatever yum I'm using.
And I just needed some basic tooling, like SSH and I didn't,
maybe there's some battery savings there by not doing WSL2.
Maybe you don't have to have the full Colonel, so
Bret: maybe simplicity, maybe a little storage space savings, but really honestly, people.
I don't know, just do WSL2.
That's kind of my, that's my take.
But so here's a great question.
How do you get started in WSL2?
What is the path to land and the WSL, do you need to know about VMs and virtualization?
So glad fully nowadays.
Let's me, Jen, jump to share screen and I think it will be a bit better.
I kind of feel like that's the point of WSL is that if you wanted to
learn about virtualization and like manually installing Linux and what all
that experience is about, go get virtual box or hyper V and create a VM.
That's the standard.
But Damien cell was like, let's make it super easy to
give someone who doesn't care about all that stuff.
Who's not trying to emulate everything exactly.
Like Linux and have complete control over all the hardware in a, just give them a
Bret: Linux machine.
Th the thing was really to be very easy to start with.
So until the last updates of windows 10, 2004, that we have today, but the latest feature
updates actually the past was like you have to go to the features, you have to install
two components, which is the visualization platform, plus WSL to the feature itself.
And finally, you will go to let's say you could like reboot and then you could add a double
sell to, but now that we sell to, and that's another important step here, WSL2 is not a Linux.
Sure is a feature micro VM that is able to launch a Linux kernel.
And now you still need to put something on top of it.
The distro itself.
Your wound to your open Suzy, your let's say penguin from my friends,
but if you will, to the store or you can even side load what we call
side loads, distributions, like maybe red that's maybe sent, okay.
No more central it, but truck in Linux or Alma Linux that are the replacements or others who knows.
I'm a clear Linux.
I was using a lot clear Linux at some point in time.
And I had to side load it because it's not on the store.
So WSL when we say like Microsoft changed, also the mentality to be open is not
only okay, they do open source and they are not here to destroy the community.
I mean, that's open source.
But they are really keen on being open.
That's the real mentality.
And don't take my word for it.
Just look at the past five years.
Or even now six or seven years that's they tried really to be actors
and not just say I think the bads a way of, oh my God is Microsoft.
So let me not go too much in there because I'm, again, I'm a Microsoft fan.
Bret: All right.
At this point in the YouTube live, we went through a bunch of
different demos and some of those are hard to transcribe into a.
Audio only medium.
So if you're interested at all in some of the details then check out
the podcast show notes at the link to the YouTube live that you can.
Fast forward to the demos.
Now, back to the questions we got from our audience.
Anton's got a question.
Is it possible to launch intensive GPU apps like blender, for example?
Nuno: so I let me say it like that.
I never tried it out, but Microsoft as first of all, WSL is GPU enabled.
So there's Nvidia AMD, Intel that have specific drivers for WSL.
If you want to run, actually GPU intense let's say intensive apps, for example.
Nuno: Like the applications that you run on on the list cell can be installed there.
Bret: Yeah, and this is.
Nuno: how far they went with the integrations.
It's pretty amazing there.
Especially the drivers stuff just the work of the drivers is that's
a lot of work and to deliberately do that, which I still feel like
running Linux applications through WSL and windows is a super edge case.
Like those of us all here, we're not the normal people.
And so when you think of the billions of windows
installations, I don't know if there's a billion windows 10.
There probably is.
if you think about the percentage of those that are going to use WSL2, and then the
percentage of those that would ever want to try to run something in a GUI in WSL2, like
we're basically focused on the core audience of, you know, geeks geeking out on, on,
you know, devs and CIS admins and hobbyists that are just geeking out on this stuff.
But I mean,
Nuno: no, definitely.
Bret: there's some interesting applications here too, because
this isn't this, I don't think this is this easy on Mac, Right.
So because on Mac, I still have to install X 11 and do some things to make it all.
Kind of work in Docker on Mac.
This seems a lot easier and I certainly don't think that I get a driver's support, right?
Because apple has been largely silent on this whole,
Let's use containers or Linuxy things.
I mean, you can run X, 11 stuff on Mac, fine from the host, but the
minute you want us to do it in a container it's not the best case.
This related to that topic, by the way, it's a little bit of a topic change for you,
but I just want to make sure we get all the questions answered that people are reaching
out was Anton earlier, I didn't forget about you asked about mounting drive speed and
saying sometimes it's really, you know, sometimes working with something like Mount C is
extremely slow comparing to file system inside WSL to warning there for all of you that.
Ever thinking about doing this for development and talking about Docker
in here, there's two things now that you should be moving yourself towards
the first one is you should be looking at putting all your source code.
If you're going to be developing in Linux, Docker containers, then putting
your source code clones, putting those in the Linux file system, not on
your host file system, but if you do that, you probably want an editor that.
Easily understand that and do that.
So all of us, I mean, not everyone can switch to VS Code.
We all have our own opinions, the world of developers is more rapidly moving to Visual
Studio Code than I've seen any other editor in the history of developer editors.
Like everyone I know is using VS Code.
Even diehards that were, I know I have colleagues that are diehard VIM people.
I was diehard to them and I find myself using VS Code more and more than just them,
because there's so much in it, including support natively for putting all your files
inside of these Linux, WSL2s and getting the native file performance out of them.
I know you have your own opinions on that.
And and again, that's that's perfect because if we forget for a second VS code, then another
big player in the world of IDE, which is JetBrains, they have actually integrated WSL widget.
Nuno: And JetBrains is really working hard to get almost a VS Code.
Not almost, but getting it the VS Code experience for JetBrains.
And so for all the potentially Java developers that use
JetBrains since ages then, well, my friends, you are no, sir.
So here like, Bret was saying again, okay, let's meet.
Let me do something like this.
If I look at,
Bret: What, while you're doing that real quick before you
type that well, we're right at, the end, that subject.
And I wanted to tell everybody, because I totally forgot the beginning episode.
I'm finally relaunching the podcast because it's, we haven't had an
episode updated on the podcast in a year and that's all mine or our team
had a podcast editor, and then we we don't have that person yet more.
So we had to take on that work ourselves.
And for those of you that are watching we do have a podcast version of this that's
audio only, and now the episodes are going to start coming up ideally once a week.
And the first one is from last week or two weeks ago, maybe
where we did a Visual Studio Code with GitHub Copilot.
Which was fascinating and we had so much fun.
So I'm actually creating a clipped edited version, a cliff notes version of that for YouTube.
And then we're going to have a podcast version outcoming should be dropping today.
So if you just go to bretfisher.com and click on.
podcast, or look in your local.
So in any of your podcasts tools and just search for Bret Fisher, you should find that
anyway, little blurb, shameless plug because that highlights just the what's happening
in the VS Code world, like it is just becoming the tool, especially for dev ops.
Whereas not a lot of the other tools really focused on dev ops for editors.
I feel like Visual Studio Code is finally making it like a first class citizen
for the DevOps world, Terraform, Docker, Kubernetes, all the things inside.
Someone , , asked a intelligence, doesn't chiller, J support this Ida.
I don't actually know.
I haven't used
Nuno: intelligence supports what?
Bret: It was, I guess they're asking about supporting WSL sounds like.
I think JetBrains went for intelligent first, so I know they have like a set
of a suite of applications, but the one that they wanted first was intelligent.
Don't quote me on that.
But I think if you look at gen brain, if you will, yeah.
Jet brain WSL, you will see what what they have.
Bret: Yeah, not to go down too far down this rabbit hole, but M a Visual Studio Code fan boy.
Cause it runs everywhere.
It runs in a browser.
You can run it yourself on a server.
You can run it on code spaces, which by the way, organizations, just like yesterday organizations
and enterprises on get hub.com can now use code spaces, which we couldn't use before.
And so it's everywhere.
I mean, you can run it on anything.
I run in a browser on my iPad.
It runs inside of WSL.
You can run it from a container.
It's just like, it's pervasive.
It's pervasive and everyone's making ad-ons for it.
Everything you ever wanted to do, it seems like in an editor is now a project inside of Studio Code.
I mean, I, you know, I feel sorry for all the companies that have paid editors, because
I think I don't see how they get, they can fight free in the future when the editor is
just so pervasive and everywhere and updated constantly and has all the newest stuff.
It's I don't know how
Nuno: Well, if they don't, if they don't go for maybe teams or IntelliJ's, which is , really
the number one for Java development, maybe there's others like for other languages.
But the problem is like, when you have open source software, really, and
you have that amount of developers around the world that want to use your
the same editor and start building these really cool extensions then yeah.
Then the other companies start to have a problem.
It's a, it's gonna be a tough market for them.
I mean, and th that's what I love about VS Code is because it was always a compromise.
It was like, well, I there's some great free ones out there.
Like we had Adam, obviously notepad plus, like we had all these other ones, VIM and Emacs
obviously, but it always felt like, yeah, there's these paid ones that are really great.
Like, I still love sublime tax super fast.
It can open up a five Meg log file faster than any other editor I know faster than.
And it's amazing.
And I still pay for it, but I only really use it for that use case.
Everything else is VS Code.
so we have some other questions real quick, cause I know we're running long.
Anton asks I news on w unfree, BSD and WSL2.
Nuno: Non, like everyone wants it.
Like everyone who knows BSD once like the more the Unix type of let's say F
O unfortunately, how how WSL, like I said, how does this help ease is that.
The kernel loaded inside the small micro VM is a link screwed up.
Full-stop so even if you try to actually flop the Colonel, put a freebie as
the kernel, but then the it system and that one, you cannot change it because
it's really a proprietary, that's the proprietary part here of a WSL is the
any system where if you just show my screen again quickly, I will just PS.
Bret: by the way, I'm a huge, was a huge free BSD fan back in, you know, 20 years ago
before we had gen two before a boon two and all these new things that was my go-to.
I ran so many servers on free BSD, but I felt like it's kinda like all the BSDS are kind of getting
left behind in the hype of Linux, which is a shame because there they're great iOS, but you know,
So during my Unix year I was really Solari's, which is
Bret: also had that.
Nuno: say Oracle of BSD at the end.
Bret: I bought used Solaris workstations and Adam in my house.
Nuno: And still Lori's.
I mean, I mean, solar is not containers, but solar is zones like
D trace and everything was really coming from sun, but yeah.
But yeah, uniques like that.
It's another approach and BSE, I never really vested, but I know there's a lot of fans
at Microsoft also by the way, but they, for now, they didn't really address the PSD.
Let's say, equal requirements.
Bret: a good, it's a good point.
You make it's more than just the kernel.
It's more than just like taking it and putting it in a package format and shipping it.
Like it's, there's a lot of complexity to the, like you said, an it system
and all this other stuff that would have to, because I'm sure that if
they did it, they'd want it to have feature comparity so a feature parody.
So now it would need V you know, it would need a display support.
I mean, it's just Docker is the same way, Right, There's still no official Docker free BSD
Bret: build, even though I think there's some other ones out there, but.
Nuno: what that wants just to show is like, you can see here, like there's any slash in it that
is run, but we don't see any other let's say process manager, like system D open RC or others.
So it's really like, it's something that's WSL lounge and that's there actually.
Bret: That's a good distinguishing factor too, on the difference between a full, like a
boon to VM versus a WSL one, which is designed to be like you said, mini VM, lightweight VM.
What's the, whatever the right word is that this is a, again, an
environment almost more for developers or operations and not so much
diehard CIS admins that love everything about a particular distribution.
So what's crazy now is that like, you can have you basically, like, this is pick a pick one
sit though, as a boon to Debbie and whatever, like with a boon to you now have the WSL2.
You now have the traditional Ubuntu server who do desktops that they've had.
So WSL2 is definitely a different feel.
And then there's the container based version of Ubuntu,
which is totally different as has different files in it.
Doesn't it doesn't have system D again, like the VSL too.
Long-term for people that are actually playing in this world to understand
how Linux distributions, you sure you can get Debbie in and all the things
now, but running it in a VM versus WSL2 versus in a container actually.
If you just looked at the file list is quite different.
There's different stuff and different processes happening.
And so the lightest weight of them all is containers.
Like container based distributions are the lightest weight.
They don't have a Colonel, they don't have drivers.
And then WSL2, has some of that has displayed support.
And then when you had to full VM, that's the one that's
like a gig install with system D doing everything.
And it has like actual display drivers with TTYs and all this stuff that you need.
And when you're plugging in a VGA cable and all that good stuff.
Nuno: No true.
Bret: So we have two remaining troubleshooting questions.
If those people are still hanging around.
Don't know if you have any idea on how to help these people, but I didn't want to ignore them.
Mario asks, I've been seeing some weird WSL2 networking issues.
When I connect to my company, VPN, it appears the resolve.com is not automatically resetting Nuno.
Are you aware of any of these networking issues?
I'm, let's say I'm aware.
I never faced them because I don't have really a VPN for now, at least I will have it
on my new company, but the VPN is for now it's, let's say Microsoft knows about it.
And the problem is like, whenever you turn on the VPN, like, like Mario
saying then It's not working actually the, it doesn't refresh itself.
So you need to go out of WSL here.
Let's say that you put like your your VPN on, so you go out now there's a command called shut down.
The thing that you must be aware, I can do it because we are
ending anyway to talk, but it's like the moment I do that.
Also my Docker, desktop, as you can see here,
Nuno: So it's scaling the micro VM actually in, in, in here,
if I do an , it's a small tool and I just released here.
You can see WSL, microbium running.
You cannot do much with this tool, but at least you can see that it's running here.
And these one, add the another name before the shutdown.
Now that I need the shutdown.
If I run again, WSL, you should be able to actually connect
So you're basically shutting it down.
And when you start back up, it's pulling in the resolve config
Nuno: like a VM because remember the DM, the natting is based on the the hyper V knotting.
So here you go to hyper V
Nuno: tool switch
Bret: and to be fair, like this isn't oh, sorry.
Finish your finisher.
I don't know.
It's just like, yeah, it's showing, but I know it's tiny, sorry, but here, if you
go to the visual switch manager, you will see the networking and the networking
is like internal network, meaning it's like it's breached to your principle.
Let's say network behind.
And then, so when you put like a VPN, the NIC is no more like the previous one, right?
It does a bridge with your VPN and now it's VPN that it's taking the lead.
So now you can not connect anymore.
Because yeah, I didn't refresh in a sense, so you need really to kill it, to recreate it.
So the shutdown will do all that normally, and you will be able, but it means that if
you are working and then your VPN closes and goes up again, it might not work again also.
So it's a, they are working on it,
W it commented the tons of comments are coming in on this because it's evidently a popular issue.
I mean, the reality is that no matter what you're doing with VMs or any sort of emulation
or network translation on your local machine, like VPNs always become a big problem.
Because everything handles it differently and everything has different support.
And every VPN does certain things like some VPNs, like, especially the Cisco
anywhere stuff, it loves to just like break everything and block everything.
And Nick Docker has had this ongoing, you know, every year or two, I feel like they, something
breaks with a VPN on Mac or windows for Docker, just because there's a bunch of gnats.
There's a bunch of, you know, synthetic packets moving around to get out your interface.
And that VPN is all treated differently.
So it is it to be fair to them.
It is very complex and I'm sure that they want it to work.
It's just a question of getting it out to work with all VPNs and.
Nuno: don't think.
I don't think it's really like a, I mean, it's impacting goblet cell,
but I would say that it's not really doubly a cell-based issue by
Bret: Right, right.
It's impacted by what the VPN does.
I'm impressed by your your knowledge there and everybody's in chess.
It's just, it's very happy they have that.
And then the last question saving the best for last year.
Thank you for being so patient Kareel.
Hopefully I pronounced that correctly.
I love that VSL a lot, but I must use WSL one, dude.
I need an IPV six reachability with my production.
And in WSL2, I have only IPV four private interfaces and windows.
Is there any solution to this issue coming
Seriously, I'm not in the head of Microsoft.
I'm falling a lot because like, w we have quite a announced some
community like Danny, Jeremy are there thinking my friends but we have
really, let's say a huge community and we are facing it's ourselves.
And like, we providing a lot of feedback to Microsoft here and there.
They are listening.
You can go to you can go to the WSL GitHub page.
So it's not development based, but it's for all the issues and everything.
We can check the link afterwards anyway for the show notes.
But the thing is like, you can go there and open the issues.
It's my clue that there's a lot of them, but believe me, they are fixing them.
They are looking at them at least.
I've been largely had to, I've largely had to ignore IPV six from my home.
I've been working from home for a decade and only until I think
it was this year, I finally got IPV six support on my Fios.
Well home connection.
So like if I go to test IPV six.com, it's like you get 10 out of 10, you have IPV six.
So, now I suddenly am interested again in IPV six, because
there was this surge in the early to mid two thousands.
When we were at the time, we were kind of running out
of IPV for because we didn't have virtualization yet.
We didn't have all of this stuff happening where we could Nat everything.
And I was really hot and heavy on IPV six.
I was telling everybody at our companies that like we had it, it was not an option.
It was going to have to happen.
We're just going to have to do it.
And it was such an uphill battle of complexity and compared to IPV four.
And now it's like sneaking its way.
I mean, obviously there's places like China that have everywhere, but like it's
sneaking its way in our lives and cars and things that we didn't really think about.
But now there is this like even on Docker hub where there's a discussion recently.
And I, think they'd either just finished fixing this problem or
they are about to that Docker hub didn't have IPV six support.
And I, think that's either just been resolved recently or it's about to be, I
feel like I saw traction in one of the issues because it's on their roadmap.
Nuno: I'm not really following like IPBC yet, so I'm not really a network guy to start with.
It's something that I learned, let's say the minimum to not be blocked by it.
So I understand that.
I understand like fix IP, dynamic, IP, DHCP, and so on.
So I, and I say, I understand that.
It's not that I know it there's a nuance here.
I mean, that's the kind of the point it's like, hopefully it just
works and someone else's job to worry about whether it's IPV forests.
Nuno: In my case.
I know that I will have to go a little bit deeper, especially when you start entering also
the Kubernetes world knowing about what the are the the networking interfaces and everything.
So it's okay.
You still need to understand that at least a little bit more, but yeah, I
think for me, it's also I'm not using it definitively for now, at least.
And Yeah and I think people are in the comments, you
know, it was like, it takes V6 becomes more important.
The more people that use it.
If you're on this channel, you're probably someone who is aware of it.
So go check your routers and your, like, there's actually an option in my router.
That said enable IPV six and it wasn't checked.
So I checked it.
Like it wasn't turned on by default and then I checked it and it restarted and then everything.
And now when I'm browsing the internet, I can use IPV six, which
is transparent and nothing to me that unless things go wrong.
Then when things go wrong, it sucks.
But anyway, so yeah, more of us that are using it, the
more of these kinds of companies and things will care.
It's one of those problems with too, with like, when I be V6 is used in
internally in your company and then everything on the internet is IPV four.
Like that's not really helping our cases because when the internet, if the Internet's IPV
six first, then I think a lot of these internal things and toolings cause there's been
IPV six stuff in conversations, especially with the Docker and I just WSL2, but Docker
forever since the beginning, like Docker adding support and then like swarm never got it.
The swarm overlaid networks never supported it and like there's,
so there's been conversations everywhere when it comes to.
It taught technology, emulation, virtualization, all those things.
It's always been another topic just like VPNs.
It's been fun.
Nuno: Thank you.
Bret was was really nice.
I like first the questions were answered then I didn't say too much bad things
Like wrong, not bad, like wrong things.
And tomorrow I have like, someone's coming at me like, you know, we have to go like, okay, sorry.
Bret: Yeah, that's just the nature of the beast.
Like whenever I look at last year's videos that I recorded,
I'm like, man, half that stuff isn't true anymore.
Yeah, no, that's yeah.
But yet you're right.
No, but thank you very much.
Bret: And just to tell everybody as a wrapping up here go check out Nuno's.
He's on Twitter, go check them out there.
He writes blog posts at WSL.dev.
Go check that out.
He's got a new job.
You want to talk about your new job?
Nuno: Yes, why not.
, I'm joining SUSE rancher in November, so yeah, that's
Nuno: that's a long way.
That's a long way coming maybe for another discussion once, like where WSL actually centrally
wrote to me WSL Docker, the cloud native foundation for us, but like the cloud native environment
community really let's say enabled me to talk to you, talk to Nigel which are my captain.
So I will make a tweak later because I did I did take a
print screen today about one, one meeting that we had.
So I have like four persons.
Three of them are captains.
The first is me, of course, but like Che our captains.
And you are the reason I'm here today.
Thanks to that.
Thanks to that.
I went through now blogging a lot, knowing a lot.
And finally I've been hired by SUSE.
So I will start finally, not only blogging, it will be also my passion becoming a bit my job.
Bret: But your job.
That's the best part.
My passion was Docker and then it became my job as it's just like that.
And I feel the same way.
Like all, everyone, you, everyone else in the community that I've met.
Over the last five, six years has just been fantastic.
I love this cloud native community and I don't talk, I don't think it enough
because there's a lot of people that doing a lot of hard work at a lot of
companies and people that are doing it as a hobby, like you were doing that
weren't fully invested as a day job, but they cared about this community.
The future of tech, essentially.
So I really I appreciate you and all the work you do, because I love content creators.
, cause being one of them, I know how hard it is.
I know how much work you have to put in.
And I know not only the pressure of constantly making content, but also that we all do it.
I feel like it's like extremely selfless act, right.
Because you're doing it to help others.
I mean, I make money on my courses, but like it, the passion has to be there first.
You have to want to share, and that this community can often be like 99% of the time can be kind.
And obviously there's always trolls out there, but I
But that's why my blog has no comments, for example.
And that's, again the blog is not my really blog.
It's like, thanks again to the, one of the, I will say my best friends really.
I never met him, but he's really one of my best friends is Brian Kittleson from Microsoft.
And he really enabled me to reach another level about blogging and everything.
And you're totally right.
Like when you, I read blogs until the end, because I know how much the person.
I had to go through actually,
Nuno: just to write it, just to ensure that it's not wrong or,
Bret: And I'm a horrible writer.
Like I need every spellcheck grammar check Grammarly.
I mean, I can make 10 videos easier than I can make one blog post.
It seems like I don't know what it is about writing, but it I'm obsessed over it.
Like, like you said, every paragraph rewriting it.
I have a blog post that we are about to launch about.
Basically what is dev.
And, And it's coming out with you, to me, you and me is gonna be putting it on their blog soon.
So I'll be telling everybody when that launches, but it's like,
I think it's 3000 words it's long and it isn't because I'd won.
I went on and on.
I was like, I wanted it to be as information packed as possible and actionable.
So I actually have a, we're gonna be talking about it on a different
show when it all happens, but I actually created like breaths.
Are you dev ops enough survey?
Like it's basically for, I think it's three or four different subjects.
And like you rate yourself as like a super simple, like one or two or three options.
And you basically give yourself a point list.
And then I tell you at the end, like, you know, okay you're just starting with dev ops
you're definitely growing in dev ops or like your team or community or organization is
leading in dev ops because I've worked with enough companies over the last 10 years.
I've worked with dozens and dozens of companies.
And I have, you know, hundreds of thousands of students that all share their stories with me.
So I feel like I have a little bit of a pulse on what is the average dev ops in this of a company?
Like what are, what a company is today?
Like we all see the news.
We all see the blogs that are like amazing dev ops.
We have everything Perfect.
We're like Netflix, we have all automated, but the
most of us are not that most of us are far from that.
And I wanted to give people a sense of like, where am I really?
And does, and how much does that matter and what should I look forward to?
And anyway, that like, if I'm going to, I, do like one
blog post a year and this is the one, this is the one.
Nuno: I didn't let's say in the blog post, the WSL dev, then I have like my own blog posts.
I have other blog posts that have been actually featured by SUSE rancher actually.
And then other sites have also my blog posts,
Bret: Do you keep like a central storage of all this to mean
Nuno: yes, for my MVP for Microsoft MVP.
I need, I have to, so I have there, but I w I will write our rights.
I will give you some some links
Nuno: but yeah, but it's a no, but writing the thing is like, once I'm done
writing, I go to my blog, post myself and try to reproduce it from scratch.
Bret: Yeah, I
Nuno: I mean, it's just, the process is just like, yeah.
Bret: it's a lot.
It's a lot.
Well, thank you again for what you do and all the work you do, and now you get to be paid for it.
So that's exciting and thanks to all of you that came and watched.
And if you're listening on the audio podcast, thanks for listening to that.
Now that we're back in the game with the podcast, I'm excited to get that going again.
Cause that was a lot of fun and it's surprising how many
people I would meet and say, I listened to your podcast.
We'll leave you all with that.
Again, thanks so much for being on the show.
I'll definitely have you on we'll have you on again another
six months or whatever, another couple of weeks who knows.
Everybody will have to come back and just find out.
. All right.
And again, thank you so much for your patrons subscribers.
You are the people that I appreciate , because you're willing to give me a little
bit of your hard-earned money to keep this show alive and to keep the podcast going.