Menu
O mnie Kontakt

NetworkChuck podzielił się w swoim ostatnim filmie swoją ogromną pasją do Dockera, co jego zdaniem można opisać jako 'uzależnienie'. W tym materiale przedstawił 18 różnych zastosowań dla Dockera, które mogą zaskoczyć oraz zainteresować zarówno początkujących, jak i profesjonalistów. Chuck nie tylko prezentuje podstawowe aplikacje, ale również kilka zabawnych i nietypowych zastosowań, które mogą być przydatne w codziennej pracy i nauce. Każde z tych zastosowań demonstruje, jak elastyczne i potężne mogą być kontenery Dockera, co czyni je niezwykle cennym narzędziem w świecie IT. Poza tym, jego osobiste anegdoty, takie jak wspomnienie o nowym ekspresie do kawy, dodają lekkości i humoru, co sprawia, że film jest przyjemny do oglądania.

Jednym z najbardziej niezwykłych zastosowań jest uruchomienie przeglądarki internetowej w kontenerze Docker. Tego typu izolacja sprawia, że jest to świetne narzędzie do testowania, szczególnie w kontekście badań nad bezpieczeństwem. Chuck zapewnia, że jego metody są nie tylko funkcjonalne, ale i szybkie. Warto zaznaczyć, że wykorzystuje też narzędzia takie jak Chasm VNC, które umożliwiają dostęp do GUI w kontenerach, co czyni tę technologię jeszcze bardziej użyteczną dla codziennych zastosowań.

Obsidian, aplikacja do notatek, to kolejny przykład, który Chuck podaje, pokazując, że nawet zwykłe narzędzia biurowe, takie jak Libre Office, mogą być uruchamiane w kontenerach Docker. Zmiana portów i odpowiednia konfiguracja pozwalają na uruchomienie różnych aplikacji w jednym czasie z minimalnym ryzykiem konfliktu. Daje to użytkownikowi ogromną elastyczność, a także pozwala na przetestowanie nowych narzędzi w bezpiecznym środowisku.

Co więcej, Chuck przedstawia możliwość uruchomienia potężnych aplikacji takich jak Folding@Home do wspierania badań nad rakiem w czasie, gdy nasze Systemy są bezczynne. Dodaje, że uruchomienie tych aplikacji w kontenerach notorycznie zmniejsza ryzyko konfliktów między zależnościami, dając użytkownikowi pełny spokój umysłu, że wykonuje swoje zadanie w odizolowanym środowisku. To naprawdę innowacyjne podejście, które rewolucjonizuje sposób, w jaki myślimy o korzystaniu z zasobów naszych systemów.

Na koniec, warto wspomnieć o statystykach tego filmu. Obecnie, na moment pisania tego artykułu, film osiągnął ponad 642043 wyświetlenia i 18779 polubień. To pokazuje, jak wiele osób jest zainteresowanych sposobami na wykorzystanie Dockera w praktyce. Każda z prezentowanych metod oferuje coś, co może być naprawdę pomocne i inspirujące dla wszystkich, którzy pragną zgłębiać świat kontenerów i technologii Docker.

Toggle timeline summary

  • 00:00 Wprowadzenie do uzależnienia od Dockera i przegląd jego zastosowań.
  • 00:06 Prezentacja 18 sposobów wykorzystania Dockera.
  • 00:42 Uruchamianie pełnej przeglądarki internetowej GUI w kontenerze Docker.
  • 00:49 Demonstracja uruchamiania przeglądarki z kontenera Docker.
  • 02:16 Używanie aplikacji do notatek Obsidian w kontenerze Docker.
  • 03:38 Uruchamianie LibreOffice w kontenerze Docker.
  • 04:24 Wprowadzenie do Folding@Home przez Docker w celach badawczych.
  • 05:53 Wyjaśnianie Docker Desktop i jego integracji z WSL.
  • 06:36 Zarządzanie kontenerami Docker wizualnie za pomocą Docker Desktop.
  • 08:31 Używanie aplikacji webowej 'Danger Zone' do sanitaryzacji potencjalnie niebezpiecznych dokumentów.
  • 10:22 Automatyzacja instalacji narzędzi w izolowanych kontenerach Docker.
  • 11:14 Tworzenie niestandardowych obrazów Docker za pomocą Dockerfile.
  • 11:41 Prezentacja korzyści z używania CLI Dockera.
  • 17:00 Konfiguracja laboratorium do hackingu Kali Linux przy użyciu Dockera.
  • 20:20 Użycie Docker Compose dla łatwiejszych konfiguracji wielu kontenerów.
  • 21:35 Uruchamianie różnych dystrybucji Linuksa za pośrednictwem Dockera.
  • 25:00 Eksplorowanie zbioru narzędzi IT dostępnych w kontenerze Docker.
  • 26:06 Podziękowania i zakończenie związane z wsparciem dla Dockera.

Transcription

I think I have a Docker addiction. I use Docker for everything. So in this video, I'm going to show you everything I use Docker for 18 ways. Some are awesome. Some are kind of weird. That's so cool. Let's get started. And by the way, this is a new coffee maker. I have called the Gina. It's a smart coffee maker. It has an app. Let's start brewing now, by the way, this is not sponsored by Gina. I'm going to quickly grab a mug while it's still brewing. You're back. Oh, I missed the ding. Okay. It's done. Oh, and by the way, this video is sponsored by Docker, which is kind of cool because I would have talked about them for free. Don't tell them that. Now, most of the containers I show you will work anywhere. Mac Linux windows. And what I'm using windows with WSL two. Number one is pretty crazy. You can run a web browser inside a Docker container. And I'm not talking about a CLI browser, a full GUI browser. Check this out. Oh, forgot to launch my WSL. I'm running Ubuntu with Docker installed. We'll use this Docker run command and we're pulling a container from Linux server to IO. You're going to see them again. Cause they make amazing containers. The one thing I do want to change is the website we go to when we launch our container. Let's change that academy.networkchuck.com. All right. Oh, and one last thing you want to notice. Look at the port mappings. We're doing a one-to-one mapping between port 3000 and port 3001. Now let's launch it. Ready, set, go. Quick little coffee break while it pulls down that container image and it's done. Let's do a Docker PS to make sure it is running somewhere. Yes, it is. Now this might feel weird, but we're going to launch our browser to launch our browser. So go ahead and launch any browser you have. And we're going to navigate out to localhost port 3000. Look at that. This is a browser inside a container. That's pretty fast. Now the reason we have this GUI access is thanks to Chasm VNC. This is an open source tool that Chasm makes and the company Chasm actually runs the Networkchuck cloud browser, which will also launch a web browser inside a container like this, except this is run on another server somewhere else in the world. And it's meant to be ephemeral. So it's great for security research, but we're essentially doing the same thing here. And because we're running this web browser inside a container, it inherits all the amazing isolation features of a Docker container, even though it feels like you're just using your web browser. Now I know, I know there's a bit of nuance to how secure this is. Just know in general, in most cases, a Docker container is separate from the OS it's running on and has inherent security. So calm down. I know I saw you commenting. I saw you. Anyways, let's move on to the next one. Obsidian is my favorite notes application of all time. I use it every single day. You can run Obsidian inside a Docker container and get GUI access. Check this out. We have another tool from the Linux server.io folks. They're kind of amazing. And all we have to change here is our port mappings. If you launch that Docker container for Firefox earlier, you want to make sure that your host port is not stepping on the toes of your other host ports. By default, it's programmed to use the same ports, but go ahead and change your host ports to be something else. So we might say our port 3,003 mapped to 3,000 and our port 3,004 mapped to 3,001 inside the container. This is our port. This is the container port. Everything else is good to enter and go. Now, just know, every one of these containers does have options. You can do things like volume mapping, where you can map a folder on your local machine to this container, making sure your data stays consistent, no matter what your container is doing. Okay. It's done. Let's do a Dr. PS. There it is. And we're going to navigate out to port 3,003 in our browser. Yes. We're going to be using our browser once more. 3,003. I said, yes. And look at that using chasm VNC. Again, we'll do a quick start on Obsidian. And here we are now full disclosure. Some of these apps I don't use every day or ever. I just wanted to show you these things because they're very, very cool. I mean, being able to run an application like this inside a Docker container that gives you a level of isolation and security that I'm excited about. You would normally get this type of isolation through a virtual machine or using an OS like cubes, but that's kind of a pain. Docker is much more lightweight. And as you can tell, it was much easier to launch this. Now sticking with our themes of running an app inside a Docker container, we have Libre office, the open source version of Microsoft office. This one is actually pretty useful. Again, thanks to our friends at Linux server to IO. I will have their website below. If you want to look at all the documentation and options you have for this, all we'll have to change now, because we're running two other containers at this point is our host port. We'll do 3,005 and 3,006. I got to make sure I remember which ones I use. And that's all we need to hit enter. And it just goes to town. I love how simple and amazing Docker containers are. This technology never ceases to amaze me. And it's so approachable too. Like if you're learning it or really learning anything, I would honestly start with Docker containers because you can do so much. Okay. Mine is done. Type in Dr. P S it's running. Same story as before. Let's launch our web browser and go out to port 3,005 this time at local host. And there's Libre office, a full Microsoft office alternative right here in my browser. We'll do a new spreadsheet. Now this one, I actually might end up using folding at home. Do you remember that? I used to run this on my PS three all the time. Essentially when your system is idle, folding at home will use your system to help aid cancer research or any other project. That's helping humanity. We can help humanity with our Docker containers. Let's try it out. Yeah. Another Docker one command. And yet again, thanks to our friends at Linux server IO couple of things here. You could set your account token and machine name right now, but you don't need to, you can log into your account here in a moment. And yes, folding at home normally does include signing up for an account. It's free. And that's all I have to say about that. Now there is one more thing here. I added some options to enable my NVIDIA GPU. If you have one, you might want to run these switches. If you don't don't use them. This will enable GPU acceleration for your folding at home. And you'll also need the NVIDIA container runtime. It's provided by NVIDIA for free. And I hate that this link is continued on the next line. It's going to draw squares around both. And actually I don't know if I have this enabled. I'm going to install it again just to make sure you can follow along. I think I have done this before when I installed my AI tools. We'll grab the snippet for installing via APT and give it a whirl. We'll run our update. Then we'll install the NVIDIA container toolkit. Okay. I don't think I had it. Now let's run our command. Docker run, all that stuff. Ready, set, go. Invalid runtime NVIDIA. Okay. Let's restart my WSL instance. WSL shut down. And we'll launch Ubuntu once more. Let's try it again. Same response. I'll check NVIDIA SMI. Okay. That's great. I can see my GPU. Oh, I forgot some commands. You've got to configure some stuff. Come on, Chuck. Read the rest of the documentation. No, I want to fool around and break things. Okay. That seemed to work. I couldn't find it because the config wasn't there. That makes a lot more sense. Restarting Docker now. And now let's try it again. Here we go. Okay. That's better. Whew. Had me worried there for a second. Let's do a Docker PS. Folding at home is running on port 7396. Let's go. Local host 7396. Okay. Now you can tell I had some testing before. Let's edit my machine settings here. Enable my GPU. Don't give it all my CPU. Save it. And we'll start. Now it says GPU zero. I don't know why it's saying that because, um, it's right here, sir. Right now I'm helping or helping cancer research. I had no idea you could use folding at home with a Docker container. It's so cool. Now, you know, I love using the CLI and I don't mind at all using and managing Docker from the CLI, but sometimes it's nice to have a GUI, a place to see what's going on. And that's why I love using Docker desktop. It's available for Mac, Linux and windows, right? Let's go double check. Docker desktop. You better believe it is for everything. Now this is run by Docker. And if you don't have Docker installed, like actual Docker, it'll install it for you. But if you do already have Docker installed, like me running in WSL two, it'll use that. So check this out. I already have it installed. I'm going to run it right now, Docker desktop, and show you what I'm talking about. Now currently it doesn't see any of my containers. Let's go see if we can fix that. It should look at WSL two. It sees my images. Let's go to settings resources. We'll go to WSL integration. Oh, sure enough. It's not using my default distro apply and restart where my containers go. When I did that, it deleted all my containers. Oh, well you live, you learn. So don't do that unless you don't care about your containers, which honestly should be fine. Containers are designed to be ephemeral. Temporary. Let me run Firefox again. Okay. It's running. It should be here inside Docker desktop. Sick. I want to spin my other guys up too. They feel lonely. All right. Now we've got some friends. All right. So Docker desktop is cool because we can see some things really quickly. CPUs container memory usage, all this stuff. And if you're running your Docker containers, like apps, like I am, that's a nice view. But you might be thinking, Chuck, hold on. I saw a video you did one time with a tool called poor tainer. And that thing was awesome. That was the best way I've ever seen to manage a Docker container environment. You know what? I agree. And what's cool is you can actually add poor tainer inside Docker desktop. Check this out. Docker desktop has what's called extensions. They extend the functionality. Let's click on it right now. And we'll search for poor tainer. There it is. This is easy. Watch this. Click install. It's being added right now. And that's it. So it's, it's running right here. And all I have to do is click on that guy, go home and here are my environments. Let's just jump into our local environment. Poor tainer. I love it. Right here in Docker desktop. So as you run more and more containers, cause you are, you're watching this video. You're going to run more containers. You're going to go crazy. You won't be able to contain yourself. Docker desktop is an excellent way, especially with poor tainer to manage what's going on. CLI is fun. Yeah. Come on. We're friends there. We, we agree. But sometimes you want to see some stuff, get a nice view. Now speaking of seeing some stuff, this one's kind of weird. We're going to take a trip to a website. Actually, we're going to take a trip to the danger zone. This tool called the danger zone is amazing. It'll take potentially dangerous PDFs office documents or images and convert them into a safe PDF. Now, Chuck, why are you talking about this? It uses a container to do this. So it's sandboxed. This is just an app you install. Check this out. Like I said, check this out a lot in this video. I apologize. Here's what it does. You give it a document. You don't trust. You don't know. It can be an email attachment. It could be a PDF. It could be anything. It's out of a sandbox. It'll convert that sucker to a PDF. And then it converts that PDF into raw pixel data. And then in a separate sandbox, it converts it back to a PDF removing any kind of danger that might be in that document. That sounds awesome. And you can install it for pretty much any OS I think, right? Yeah. It's everywhere. And here's windows for us. Now, quick thing. It does require Docker desktop to run the sucker. It's got to be running at all times. Thankfully, we just talked about that. So you're good. Let's install the danger zone. That's such a cool, fun idea. I love this typical installation. Let's go a little coffee break in between. By the way, as we're trying to avoid being hacked right now, have you hacked the YouTube algorithm today? Let's make sure you do that. Like button, subscribe, notification bell comment. You got to hack YouTube ethically. Of course. I haven't said that in a while. Okay. It's done. Click finish. Let's go and watch danger zone. And there it is. Okay. So everything looks good. No warnings. All we have to do is select the suspicious document. Let's go find one. I don't have anything suspicious. I don't think I do. Um, I'll just find something random. Like it'll do images, right? What are the limitations here? It'll do. Yeah. Images. I think this is a picture of John Hammond and it's going to do its thing. It's going to convert it to a safe document. All I want to do is show you my running containers because it's going to do some fun stuff. Watch this convert to safe document. Look, it's running containers. Boom sandbox, boom sandbox. That's really neat. And there's John Hammond with all the viruses removed. He looks great. That's a really fun tool. And I love that it uses Docker containers on your system. I mean, that's ah, oh, this is probably my favorite way to use Docker. It's not very flashy, but it's super helpful because I use a lot of tools on a daily basis. A bunch of tools that I download from GitHub that I'll install in my Linux environments like WSL two, and they'll have just a variety of different dependencies. And sometimes these tools will step on each other's toes and break everything. All that to say, I like to install my tools and set them up inside their own Docker container. And if I love the tool, I'll use a Docker file to create an image for that specific tool. So essentially any tool I'm going to use, if I love it, for example, fabric, I did a video on fabric, see it up here. It's a great AI tool. They recently changed the architecture from Python to go. I'm like, okay, well, I got to go install, go and change my entire environment. Or I could just run it inside a Docker container in its own separate environment. That doesn't interfere with anything else I had going on way better. So I define that in a Docker file. Here's what it looks like. And by the way, this is kind of a way to build your own Docker containers. Not the only way by far, I think the best way. And when you know how to build your own containers, it's like gaining a superpower. It really is. I'm gonna throw this code into my browser base, subsidy and inside a container that white is blinding though. Oh my gosh. I can't do anything but dark mode now. Oh my gosh. I can see. So here's an example of a Docker file and full disclosure. I use chat to BT to help me build this. And that's kind of the world we live in. Now you don't have to start from scratch on anything. Don't waste time. Use AI, let it make you better, but also you should understand what's going on. So use AI to explain it to you. Now here, this Docker file is defining how to build a container image. For example, it's going to use a Golang image, an image from Docker hub that has Golang already installed. And then we're doing something like setting the working directory, adding some packages, cloning the tools from Daniel Miesler's, GitHub running it or installing it and setting some environment variables. Now this is my one unique example. You don't have to copy this tit for tat. I just want to show you kind of what it looks like to build your own container and use it like an app. So here in my WSL two Linux Ubuntu land, I'll make a directory fabric tool. Jump in there. Nope. Wrong directory. There we go. And I'll create a file called Docker file. You'll want to name it just like this. And I'll paste my config in there. Looks good. Control X, Y, enter to save. And then with one command, I can create an image from that Docker file and the command will be Docker build. We'll do dash T and name it. I'll call it the fabric. And I'll put a dot at the end to tell it to look here for the Docker file. Ready, set, go. It's building it right now. It's actually making a Docker image, one that you might download from Docker hub and it's installing and creating everything I need right now. And that's it. If I do a Docker image LS, there it is right there. The fabric created eight seconds ago. Oh yeah. Now let's create a container with an image and I might run a command like this Docker run with the dash dash R M command to remove the container when I'm done with it. And then it's just running the fabric command from that container. So I can do things like this is so cool. Dash H just to get help for that command for fabric that's running inside the container and giving me the output. I can do, Hey, list my patterns. Cool. I can use the pattern. Let me say like, Hey, tell me a story about drinking coffee and having the best day ever make it four sentences. And then I'll paste my command in woke up early, brewed a perfect cup of aromatic coffee, sip slowly, watch sunrise, felt peaceful and invigorated coffee in hand, met friends for a laughter filled lunch evening ended with a satisfying book and quiet reflection. Now that's a day I'm doing this on Saturday. Now to make it where I don't have to run that same Docker command over and over. I can add an alias and my bash RC. I'll just call it a FB for fabric. Let's save that. Refresh my terminal. Let's try it out. Let's say tell me something funny. Pipe it into FB. Yes. How cool is that? Now watch this. I'm gonna have it summarize an article and we'll see the container pop up. I'll grab a random one from a bleeping computer or something. Here's one about patch Tuesday and check this out. The container is running over here and it's summarizing my stuff over here. It containerized app just like that. How sick is that? Oh my gosh. I love it so much. Oh, that was fun. And that's not fake enthusiasm. Like you guys maybe wonder is Chuck really like this? Is he faking it for YouTube? No. Ask my friends. Ask my family. I'm like this all the time, especially with coffee. Now sometimes when you're building your images, which then you'll make your containers, they can be insecure. That's why I love Docker's new feature here called Docker scout. Now container security is a big deal. As you can see it's so easy to deploy containers and pull a variety of images from Docker hub. But you know what? Those images could be out of date and secure. They can be placed there maliciously. You don't know that. So if I click on Docker scout here, I can analyze my images. Let's analyze, um, the one I just made the fabric. Let's see if it's fine. Analyze it's doing it. All right. We did that one. Let's do danger zone and let's do a obsidian. Now I can go to my images up here, jump into any one of them. Like let's go to danger zone. Oh, it's still analyzing right now. Let's go back and look at one that's already done. Like, uh, the fabric, check it out. It analyzed it. I found that there's no vulnerabilities. I can see the images used with this. The package is installed. It checks all that stuff to make sure it's secure. That's amazing. You can see all the layers. Let's go check on a danger zone. Danger zone is dangerous. Okay. It found vulnerabilities in these packages. There's a lot of, or there's six. Let's click on that. Yeah. And it tells you the CVEs right here. Um, that's pretty high. What's up with this? Maybe this is actually the danger zone anyways. Um, use Docker scout because you don't want to get hacked. Oh, it even tells you that there's a newer event image available for images. You're using. This is cool. Hey, never check from the future here. Docker told me, Hey, Chuck, you didn't talk about everything we want to do to say about Docker scout. I get it. There are some cool things I didn't mention. Can I show you those real quick? Check this out here in Docker desktop. They do have a terminal now, which is pretty cool. I'm going to use Docker scout with Docker scout CLI, and I'm going to use one of their test repos. First, I'll make sure my organization is enrolled the network. Chuck. This is my GitHub repo done. And now let's scan some stuff. We'll do Docker scouts CVEs. We'll use the option only package. We'll say express. Okay. Yeah. It found some stuff. And I love doing things from CLI. It's just more fun. Let's try and fix one of these like this right here. It seems pretty easy. All we have to do is update a version, change it from one to three for express, save that sucker rebuild. And let's analyze again. So we fixed the high severity one of those like, Hey, update it again because there's some medium CVE. Actually, it's going to bother me. I'm going to fix it. Now. What version did it say? It said, uh, at least get to four 20. We'll push V3 and now let's analyze. No vulnerable packages detected. Now another thing I did not mention is you can view all of this from a really fancy, nice dashboard. Get a bird's eye view of all your stuff. Docker does have a new plan going into effect and new pricing model. November 15th. Here's all the info here. And it seems to be doing what it says more value at every level. Anyways, that's Docker scout. Let's get back to the video. Okay. Now we're entering the hacking portion of how I use Docker on a regular basis. Setting up a hacking lab with Docker is the best starting with Kali Linux. Check this out. A massive shout out again to our friends at Linux server. This container will also be using chasm VNC. So let's go ahead and change our ports to make sure we're not stepping on any toes. I forget where I was at. I'm just going to set a high number. I do have this optional config to map some GPU goodness. You don't have to do that. And let's launch this bad boy. Here we go. It's going to download the image. It's kind of heavy. It's Kali Linux. That's going to be running inside a gooey container that we can access from our browser. And my humble opinion, many times if you just need something quick to test out some stuff, this is better than a VM. That took a minute. Let's see if it's running. What am I doing? I can check Docker desktop. It's running on port 3,011. Let's go to our browser. Local host 3,011. Check that out. Kali Linux right here in our browser. And it just stinking works. It's actually pretty fast. It's launching burp like a champ. Oh my gosh. Now I said hacking lab, where's the vulnerable machines that we can hack into? That can also be a container. Check this out. Actually, you know what? Before we do that as part of our hacking lab, I want to show off one of my favorite Docker features. I made a whole video about it because I love it so much. And I'm also network Chuck. It's Docker networks. You can create little isolated networks to your heart's content in a variety of ways. I'm not going to dive too deep on that. Again, I had a whole video covering every network. I think. Yes. So check it out up here. But one way I like to do my hacking labs is setting up an isolated network because if I'm deploying vulnerable machines to my system here, I want it to be isolated as much as I can be. Anyway, the canal will be Docker network create, and you can just create a network like this, like my network, name it like that. Or you can specify some options like internal where this will be completely isolated. Now Docker does not by default. So if you didn't specify that, it would have internet access and access to other stuff in your network. So I'll call this hacking lab. If I do Docker network LS, there's my networks. And real quick, I want to add Kali Linux to that hacking lab network. This command Docker network connects hacking lab Kali Linux. I think that's the name of the container. Yeah, there we go. If I do Docker inspect Kali Linux, let's check out his networks. Yep. There he is in hacking lab, but he doesn't have an IP address. Oh yeah, he does. There it is right there. It's not that isolated network. I can throw a vulnerable container inside that network. We'll do Docker run dash dash RM to make sure it goes away when we're done with it. Do dash it for interactive. We'll float into hacking lab network. And the machine images, vulnerables, vulnerables. Oh, I spelled it wrong. I know I did vulnerable. So there we go. Forward slash web dash DVWA, which stands for the damn vulnerable web application. It's a web application that's intentionally vulnerable. It's messy. Let's try this out down because Docker is magic and I think it's almost done or something went wrong. I'm not sure. Is it running? Yeah, it's running. So now this web application is running on port 80. If I go to port 80 here, I shouldn't be able to access it. Yeah, nothing. But if I go through Kali Linux, I should be able to see it just fine. Wait, I don't know the IP address. You know what? That's why it was sitting there. I didn't do a Damon mode. It's your doctor inspect. I should do a Docker PS to see what it's running as we'll inspect that container. What's your IP address? 172 1903. Perfect. Let's go there. And look at that with a Docker version. Do you have to create a database? It does it auto magically. Now you get a web app, a hacking web app. It's just sitting there. I can't access that for my computer. I don't think, let me just make sure I'm not lying to you. Port 80. Yeah, I can't get to it. It's only accessible from Kali Linux because it's connected to that network. And like that was just, you know, seconds. I set up a isolated network. I set up Kali Linux. I set up this vulnerable machine. And by the way, there's a ton of vulnerable machines out there that are containers. Just deploy them like crazy inside Docker. Now just after a Docker networks is my other favorite feature Docker compose because setting up a hacking lab was fun, but doing it one at a time like that, boring, lame. You need to use Docker compose. Now this is another subject. I made a whole video about, but check this out. I'm gonna create a new file here in my obsidian in the web. This is what's called a Docker compose file and all that stuff. We just did setting up a hacking lab network, deploying Kali Linux, setting up a vulnerable container. It's all defined and declared here. No, what does that mean? Watch this. This is so cool. I'll take this file. I'll make a new directory here in my WSL two Linux. We'll jump into my lab. I'll create a new file and call it Docker dash compose dot YML. I'll paste my config here. Control X, Y enter to save. Now watch what happens with one command Docker compose up dash D watch this. Boom. It just did everything for me. Just like that. Look at it. It's all here in a little folder to my lab. There's Kali Linux. There's a vulnerable web machine. Let's go to it. What's the port again? Oh, 3,011. There's Kali. Good to go. Let's go see what our, uh, IP address was for D V W a one seven two 1902. Perfect. But you can't access that website anywhere else. Only in this little Docker network, my hacking lab on a web browser. What? And Docker compose. I mean, and check this out when I'm done. Docker compose down and it's gone. Not even here. Another way I love to use Docker is just trying out new operating systems. So for example, Linux Ubuntu is my favorite, but there's other flavors that are different. You know, like they act differently. They have different commands and syntaxes and we can easily spin those up like right now, check it out. So for example, let's say Rocky Linux, just go find out on Docker hub. I think all we gotta do is do Docker run Rocky Linux. Let's try it out. Didn't like that. Let me try a different tag. Done. There's Rocky up there. Let's connect to him. And we're a Rocky Linux. Now, up until very recently, you could actually run Mac OS inside a Docker container. I think that went away. This guy here, sick code to get a, uh, cease and desist or a DMCA takedown message. Let me see. I think it's here somewhere. Yeah. From Apple. They're like, dude, stop putting our OS out on the internet. Um, for anyone to use inside a container, but I think you can still run it somehow. Let me see. All right. I'm going to risk it and try to run this here. Apparently this is an updated version. And if my computer breaks, it's your fault. Kind of scared. Let's roll with it. Oh, that's heavy. It's going to take a minute. All right. So something's happening there. Let's see what's running. It's not. Okay. So let me see what's going on. I'm going to ask chat GPT. All right. It could be that that port is being used up. Let's see. Let's try a different port and see if this works. Doesn't like that. All right. We're going to use the host adapter. Is it doing it? So we're doing now instead of exposing a port, we're just going to use the host network adapter. Oh, it's happening. Hopefully I'm not getting hacked right now. Oh my gosh. Something's happening over here in Kimu. Um, let's go. Oh, I don't think I have mouse access. Okay, here we go. I already feel like this was a victory because that was very much a Mac login screen or a boot screen. Apple. I love you. Don't come after me. I have an iPhone C and an Apple watch. I just love you so much. I can't contain myself. That's so cool. All right. I'm in recovery right now. Um, I don't think I want to try and reinstall, but like, can't you go to Safari? That'd be kind of funny. Yeah. Okay. It's having a fit. It probably hates this. Okay. I want to try and reinstall maxinoma. Just cause I'm so curious what's going to happen. This is nuts. I read a story about this. I didn't know it actually gave you a GUI and it's using X 11 forwarding. Just seeing the Apple logo is just crazy to me. All right, let's reinstall. I've got the spinning wheel, the beach ball. Uh, yeah, I agree. Yup. Okay. Yeah. That, Oh, it's locked. Okay. So I think we hit the end of our road. I'm not going to try and do anything else. I'm sure we could play with it a bit more, but that was pretty fun. Let's end this party and, uh, delete all these things. Actually, I'm curious what does Docker scout have to say about this? Okay. While it's analyzing that you can actually run a Raspberry PI and a Docker container. Here's the repo right here. Oh, I love the logo. Yes. All right. I'm just gonna gonna run it, run this, see what happens. What's the worst that can happen. Okay. So it said no file system detected, but no, it's pulling out the Raspbian buster light image right now. Okay. Did it do it? It's doing something. Oh, Raspbian buster. Oh my gosh. This is Raspberry PI. I know my PI. I don't like seeing failed. Oh, come on. Please work. Please work. It has an ID address or here. Oh, what's the log in? Is it PI? What's the log in? Oh, is it? Um, I don't remember. Oh, it's PI Raspberry PI Raspberry PI Raspberry Raspberry PI running inside a container. Sorry. I'm a little excited. Oh, sure enough. We're running Raspbian at a container. Crazy. Oh, okay. Look, we got our stuff about this guy. Vulnerabilities galore. CVEs. Yeah. He's out of here. Yeah. Out of here, buddy. See a Sonoma by Sonoma. I can't believe I'm using a Raspberry PI in a container right now. That's so cool. The last one I want to show you is a cool thing called it tools that I found. When I say I found it, I actually lost it. I have to go find it real quick. Where did it go? Oh, I think I found it. Yeah, here it is. I think this is it. I'm gonna get out of here. I don't know. How do I get out? All right. I'm just going to go stop the container. Okay, cool. Let's try this. Um, 80, 80. I think this is open for me. Let's go see what happened. Local host, 80, 80. Look at all this. So this is a bunch of tools that are for it people. So for example, you've got Bcrypt, HMAC generators, date, time converters, RSA key pair generators. I mean, this is actually pretty cool. Token generator, refresh, refresh. This is nifty. Cron tab generator. I mean, we've got chat GPT now, but this is pretty cool though. IP address converter. There are so many things. Emoji picker. That's actually cool. We can spend all day here. Text diff. That's neat. Outlook safe link decoder. Oh, that's actually handy. QR code generator, Docker run to Docker compose converter. Could that be any more perfect? Why did I just quote Chandler? We've been watching a lot of friends lately. So I just realized this video is probably very long. Let me know if you like the style. I made it more conversational. Thanks again to Docker for sponsoring this video and making it possible. And I would have made the video anyway, if they hadn't have sponsored this. I just love Docker so much. That's all I got. I'll catch you guys in the next video. Yeah. And I'm not sure if that was 18. I lost count.