Docker on Windows: How to set up for NetDevOps: bash, git, Python, Atom, Postman, Docker: Part 4
Skills:
Docker & Containers80%
Key Takeaways
Sets up a development environment on Windows with Docker, bash, git, and Python for NetDevOps
Full Transcript
[Music] all right so we've gone through postman we've we've talked about chrome that was in there now one of the other really interesting tools that I think is important for Network developers to become comfortable with as you're going through is container technologies and today the one you really should start out with is docker docker is a Linux container or it started out of the Linux though it's now fully supports Windows you can run Windows containers you can run containers on windows there's a super support for Windows with docker now but understanding how to use it and experiment with it is really important for network engineers because what a container is is it's a way to package up an application in a different way but every every container has to communicate with the outside world in other parts of the application and the way that that communication happens is through network connections and so docker and and all of the technologies that build on it things like kubernetes and these other ones really really rely on having a solid network for the containers to function with so as network engineers if we need to build and help design secure and well performant networks for containers we have to understand what containers are and how to use them and a great way to get started is just installing docker raid on your your workstation and using it and so over here we've got the the place you finally downloaded is the docker store you can get to it from docker comm and then downloads but we can see I'm on the docker Community Edition for Windows docker has a community and Enterprise Edition the community edition is the completely open source you can install it you do have to create an account with docker to download it but again it's a free account that goes through the Enterprise Edition has support and extra tools that are used for corporate organizations that are trying to do larger or larger deployments of docker for production applications and need higher capabilities but the Community Edition is more than enough to get started and learn all about how docker works and so you come in you go get docker here once again I downloaded this to save some time and we'll go ahead and well I'm gonna run this installation and we can kind of chat a bit about what what docker is while we while we kill time for the install the finish we had a whole section talking about docker more video about docker and kubernetes so guys can watch that but if people haven't watched that can you give us like the 30 second what is docker yeah yeah absolutely so what docker is is it's as I mentioned it's a Linux container I keep saying Linux it's not just Linux anymore it's a container application container technology and what that means is normally when we think about running an application there's lots of ways we've done that we can run applications by just installing them on our workstation we've installed postman we can run applications by packaging it up inside of a VM so a lot of organizations now our company ship their software is is OVA files that you would download and install and VMware hyper-v or or some other virtualization platform the application containers is another way to package up an app and the biggest difference between an application container and a virtual machine because they're often kind of seen as similar is that a virtual machine is an entire computer system it has a kernel it has the operating system it has all of the drivers to interact with the hardware it has all of the utilities notepad will be on there all of them if it's a Linux based VM they'll have all the Linux tools it might have minesweeper solitaire like a VM it has everything that's there an application container is super stripped down to the bare minimum necessary for that application to run it doesn't have an operating system in it necessarily it doesn't have Hardware drivers in it it doesn't have any of the unnecessary tools or a graphical user interface it certainly doesn't have solitaire installed it just has the application and then thing that that application needs to run and because it's so skinny down there much much smaller than a virtual machine you might download a virtual machine for for an application and you get a couple of gigabytes or ten gigabytes or more sometimes if you get a container in a container might only be a couple of tens of megabytes or maybe a hundred megabytes for the container it's a much much smaller footprint as it goes through because it's it's very it's built to be very efficient to go through it and be able to run just about anywhere so that's kind of the quick piece but as you mentioned we did do an entire discussion and demo and kind of dive into the into docker as long as as well as kubernetes that was there so alright so my my docker installation finished here now there is a couple of things that you need to have on your Windows machine before you can install docker now docker for Windows has been out for several years and it's gone through different variations right now the way that docker works is docker actually installs on your Windows machine and leverages the hyper-v service that Windows offers even inside of their desktop operating systems and so a prerequisite to installing docker is if I go into Windows Features I gotta spell it right though those features so we've got this turn Windows Features on or off if I look in here you need to enable the hyper-v features on yours now my workstation is a Windows 10 desktop I think it's Windows 10 Enterprise because this is my corporate issued laptop and so I just need to go ahead and install and add these the hyper-v features should be in most Windows 10 installations I think there may be some flavors of like the the really student editions or maybe the the home flavors may or may not support hyper-v and but that this is one requirement to get docker for Windows installed is to have hyper-v setup if you're on a version that doesn't have hyper-v or you're on a pre Windows 10 version you should still be able to find some of the older installations of docker windows that work differently but if possible I definitely recommend moving to the new version and that's one of the reasons when we talked about the evolution of Windows the latest versions of Windows have added a lot of really interesting features and so if possible it is good to get to this kind of Windows 10 platform from some of these pieces so our install did finish before we go kind of look at it and poke it window or a docker a bit any questions now that's great it's interesting about the hyper-v option that you that you selected there that's good to know mm-hmm yep yeah and it's just because under the hood I mean frankly what what docker is doing is it's using hyper-v just to create a small little virtual machine that is doing all of the docker stuff that's there so it's running on Windows I would still say that it's natively on Windows I didn't have to manually create a VM to do it but it is a virtualization technology and it's using that hyper-v capability that's there all right so I've installed docker and then let's see if it's running it is not currently running so when you install it it actually installs an application so let's start it up docker we can see here in my Start menu I've got docker for Windows it's a desktop application so we're going to fire this up now you can set it to start automatically I often turn that off for myself because if I'm not using docker actively there's no need to have that those components running in the background using CPU and memory and an extra battery life so I like to turn stuff off that I'm not using which is why it wasn't started already so Hank I have got a question we often hear about docker and it's kind of like docker is containers but that's not true is it I mean there are perhaps other container technologies could you talk a little bit about stuff that's perhaps not docker related what other container technologies are there if any yeah no it's a fantastic question and it's actually it's it's it's a good one for network engineers to understand what what's going on there and so the I would say I'll say it's the original but I'm not I'm not a super container expert so there may have been something before it but the original application container technology is is called lxc and it's it's Linux containers kind of started in the Linux space an LXE containers still exists it LXE containers still exist and honestly some of the Cisco platforms that our routers and switches allow you to run LXE containers on your router and switch you can package up an application inside of a Linux container and you can run it right on your router your switch and and run applications at the edge and people do this for all sorts of reasons for for gathering information about network statistics and then crunching some numbers and summarizing them and then and then uploading them centrally so for locations that have bandwidth restrictions that's a common one that goes through running troubleshooting tools at the edge of the network there's some applications that actually can run to do database work and five computing so LXE containers as I would say is still a very strong container technology that's worth at least being aware of today that's there because you may stumble across it and then there's there's another container of newer container technology called rocket containers that came and was developed by the core OS team and core OS is an open source development shop their recently acquired by Red Hat I think but I could be wrong on who acquired them but rocket is like docker it lets you build container images and run containers and go through on that very similar to how docker works now docker is by and far though the kind of the winning container technology that's there and so what I recommend folks when I talk with folks about what to learn is I would say learn docker unless you happen to work at a company or have projects that require one of the other ones and then clearly go learn those I would say it's probably still a good idea to at least understand Dockers fundamentals because it's so popular that's out there but as you mentioned it is not the only container technology so that was docker I can just give us the names of the other ones as well yep lxc containers and if you just and if you just search for lxc container you can find Linux containers org and it will walk you through on that one and then rock it and I think they they have some weird abbreviations for it but rocket containers should get us to it yep core OS rkt that's how they abbreviate it rocket is another container technology rkt there's probably other ones but those are the three that I've worked with and kind of seen in the wild and leveraged use docker all the time I've been very familiar with LXE containers because cisco supports LXE containers we also to be to kind of round it out we also support docker containers on our switches and routers as well but originally they were LXE containers the doctors support is something that's kind of come up over the last year so into some of the platforms and so LXE containers and docker and then rocket rkt that's current awesome all right so we've got dot while we were chatting on that dr. should have started and so it did and so docker we can go ahead and interact with it so I'm gonna go ahead as we were working last week I think I saw it open yep I've got here we go I've opened up get bash because as that we've talked about in our video last time I highly recommend though Windows is a great platform and there's tons of stuff and we're gonna see it um if you want to be able to more easily grab examples from the internet and go through working inside of a bash environment on your Windows machine make some of these things a bit easier which is why here I am an in get bash so I can run docker and I just hit enter and I should get some help information so we can see that I've now got docker installed and I got all these commands and what we're gonna run a couple of them but to show that you don't have to use bash I can actually I'll open up PowerShell windows powershell so powershell here let me make the font a little bigger so it's easier to read freeze all right so I mean get these back where I actually wanna go okay so I've got PowerShell on the side and I should be able to just type docker here and get the same thing and so we can see I've got docker installed on my Windows machine and I can use it in PowerShell or command or an git bash either one of them will go through I tend to default back to get bash because that's where the commands often look and operate more similarly to what I'm used to and so the first thing you want to do you might want to do when you want to test out and make sure Dockers working is run run a container run an image from someplace and so docker run is the command that you use to start a running container and so from a terminology perspective an image is like a base template a container is a running instance that actually is kind of been doing stuff and so I can go docker run busybox busybox is a small very tiny lightweight Linux tile container that can be used for kind of just testing in pieces so if i just type docker run busy box and hit enter it will the first thing i'll do is pull the template the image for busy box down if you don't have it i've run this before so I already had it we'll look at the images that are available in a second but we can see it ran and it kind of stopped well the weight containers work is that a container is designed to start run do whatever it was told to do and then exit and so I didn't really tell busybox to do anything it just started up so it did something but I didn't really get anything out of it so we'll do it again we'll do docker run we're gonna go over here we're gonna go ahead and do docker run - IT for interactive TTY terminal so I want to be attached to busy box and then just save busy box and so now when it runs this we can see I've actually my prompt changed I'm now inside of the container functioning and so in here I can run different commands I could do an LS which is really hard to read here in PowerShell oh that's a little easier so I can run the Linux command so I'm in my PowerShell window I've run and I'm attached inside a container based on this busy box image and I can go ahead and inside of there and then when I'm done I can I type exit and exit out of the container and it's gone as far as it goes now a couple other commands for docker that are interesting to know is docker PS is for process and so it says the idea here is show me any running containers that are currently running so if I say docker PS and hit enter we'll see that I actually have names I have a couple that are running surprisingly man created I wouldn't have expected to have some up but I do have a few that are up there I can't stop those because there's no reason for them to be running so I can do docker stop and we'll say three-beam what I'm giving it here is the container ID this very beginning piece so three BC I might stop that container because I don't need it running in the background and then 0ad will stop that one as well and so now if I do docker PS there we go so I don't have any running containers but I've got some that are stopped and this is one of the things that are interesting about docker containers if I put a - a for all this will show me all of the docker containers that are have been started and stopped and we can see these all show and exited status each one of these containers I could restart if I wanted to I could do docker start give it the container ID or give it the name this command is rolling really badly let me see if I can make it there we go so we can see each one of these containers has a container ID and then it also has a container name so you can when you do command you can either give it the ID a ID or the name that goes through so if I wanted to remove one of these let's say I was done with some of these busybox ones and I wanted to go ahead and get rid of them so I can come through here and say docker RM for remove and then we can just do to see and it'll go ahead and delete that one that's there and go through now you can work through the command line which is how docker often is used but when you install docker for Windows it actually installs a GUI tool that can be handy to use as well it's called kite Matic so if I open up kite matic apparently it's not downloaded let's see all my mistakes so we can will let it download it when I do that so we'll download kite Matic which is the GUI interface for docker for Windows that lets us actually look at the running containers interact with stuff get some more information that goes to run that so while this download is running because it's one that I missed any questions anything we can clarify any better David yeah yeah I think about that demo is great Hank because she showed yourself using PowerShell and then you jumped straight into like a linux shell so you're kind of like if I understand right you went through like a TTY which is similar to what we have on a router like a TTY or or vty but is a TTY and you jump straight into the the Linux container and you were kinda on the console of the links containers alright exactly if you like by SSH into a Linux VM I was just attached to it yes sir to me it's like as an analogy for a can Network guy it's kind of like you connected to the console or a aux port or a excellent try a TTY port disease is the right term but like a another kind of console port onto that that container just like you would with a VM connect to say a console on a on VirtualBox or on VMware Workstation is that is that kind of like an analogy and is that true I wouldn't even say it's an analogy but that's exactly the same thing I mean it's under the hood that's that's exactly what's going on so your your description is spot-on that's great I mean it's nice to you it's nice to see you talk about tt wise on Windows and on on docker in the same way like we see on a router exactly yeah because and that's the other one that that's important I think for us to keep in mind is routers and switches and firewalls really under the hood they are just computers running software and in most cases for years they've been running Linux and then having having the network application running on top of it so it's nice to see like if I had a console onto a router I was in Windows then I jump straight into the console of the router here you were on Windows and you jump straight into the console of Linux it's nice to see that yeah yep and honestly on some of the platforms today you can actually get access to the the Linux bash environment outside of the the network software right away so you can actually get in under the hood and go through it's it's one of the things that's kind of interesting that I've thought has been really interesting in these last couple of years as as network vendors Cisco and all of them I would say at this point are opening up a little bit more access to the stuff that's going on under the hood alright so my download for chromatic finish time I've extracted the zip file and we'll go ahead and we'll run chi-o-matic here and see if it goes through and lets us jump into what I was after all right so here it's running kite Matic we can see I can connect to docker hub so to download docker you had to create a docker account so I've got mine I'll log in but what this does this enables us within the GUI interface now to actually download or push containers up and share containers that are through and and browse the hub that's there but what I wanted to show is here on the side this containers this actually shows all of the containers that are there if I were to drag this over to the side and we'll bring PowerShell back up just to show that it's the same list I should be able to do it this way and let's go find it again there we go so we can see admiring Bell is one of the containers and we can see admiring Bell and so when you're working with docker most folks to always think it's this Linux and it's command-line all over the place and it can be and oftentimes you'll get there but you can even get started with with the here so if I wanted to get rid of some of these so if I didn't want these I can hit these little X's it'll let me remove these containers and so I can work with docker for Windows through this GUI I've got all sorts of different access if there's a link here to open up the docker CLI there's information for some of the settings that are running under the hood good and so this kite mattock application is actually really handy one to install in addition to just the docker for Windows and as we saw it's just an extra download and start it right up it's really nice that yeah absolutely alright so we are so we're past our normal time kind of going off of [Music]
Original Description
Setting up your Windows workstation as a development environment: Install bash, git, Python, atom, Postman, Docker and more!
So you are a follower of Gates, Balmer and Nadella, excellent! Let's supercharge that Windows workstation with everything you need to be a programability ninja!
Objectives:
- Install a basic development toolset on your local workstation
-Verify the tools are all working as expected
Prerequisites:
In this lab you'll find walkthroughs on how to install a set of common development tools on a Windows 10 workstation. If you haven't reviewed the lab "What is a Development Environment, and why do you need one?" yet, you may want to go back and take a look. In it, you will learn the reasons behind the types of tools and choices made for this lab.
DevNet Homepage
http://bit.ly/2MHbgOk
Learning Lab - Dev Setup
http://bit.ly/2NkwCGt
NetDevOps Live! DevNet Show
http://bit.ly/2NKmXZ8
Network Programmability Basics Video Series
http://bit.ly/2MHbLba
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
Playlist
Uploads from David Bombal · David Bombal · 0 of 60
← Previous
Next →
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
RYU SDN Controller Part 4: Graphical User Interface (GUI): Practical GNS3 SDN and OpenFlow
David Bombal
HPE Network Protector SDN Application Part 1 - Introduction
David Bombal
HPE Network Protector SDN Application Part 2 : DNS Interception using OpenFlow
David Bombal
HPE Network Protector SDN Application Part 3 - Lab Setup using Physical Switches
David Bombal
HPE Network Protector SDN Application Part 4 - Demo of malicious websites blocked
David Bombal
HPE Network Protector SDN Application Part 5 - Demo OpenFlow table interception flows
David Bombal
HPE Network Protector SDN Application Part 6 - Demo of Physical Switch configuration
David Bombal
HPE Network Protector SDN Application Part 7 - Demo Service Insertion Tunnel / GRE Tunnel
David Bombal
HPE Network Protector SDN Application Part 8 - Demo SDN OpenFlow Reporting
David Bombal
HPE Network Protector SDN Application Part 9 - Demo switches interception of DNS traffic
David Bombal
GNS3 Talks: GNS3 version 1.5.X Appliance Tips
David Bombal
CCNA 200-125 Exam: AAA demo: TACACS+ with GNS3
David Bombal
GNS3 2.0.0 beta 2 install
David Bombal
CCNA #012: Learn SNMP with GNS3, Wireshark and Solarwinds NPM - CCNA 200-125 exam
David Bombal
CCNA #013: Spanning Tree CCNA Exam Questions: Know the answer? CCNA 200-125 exam
David Bombal
GNS3 2.0.0 beta : GNS3 VM integration with GNS3 GUI
David Bombal
CCNA #018: Routing exam questions: Who wins? OSPF, EIGRP or RIP? Sure? CCNA 200-125 exam
David Bombal
CCNA #019: Spanning Tree CCNA Exam Questions: Root Bridge, Root Port and more: CCNA 200-125 exam
David Bombal
GNS3 Download, installation and configuration - GNS3 1.5.3 and Windows 10
David Bombal
CCNA #023 EIGRP Neighbor Troubleshooting (DUAL Issues) for the CCNA 200-125 Exam
David Bombal
GNS3 2.0 Architecture and schema Part 1: What is the GNS3 Controller?
David Bombal
GNS3 2.0 Architecture and schema Part 2: Emulators and virtualization
David Bombal
CCNA #028 VTP Troubleshooting for the CCNA 200-125 Exam
David Bombal
CCNA #029 VTP & DTP Troubleshooting for the CCNA 200-125 Exam
David Bombal
CCNA #030 VTP Troubleshooting for the CCNA 200-125 Exam
David Bombal
GNS3 : How to download Cisco IOS images and VIRL images. Which is the best? How do you get them?
David Bombal
GNS3 ASA setup: Import and configure Cisco ASAv with GNS3
David Bombal
GNS3 switching setup and options: Cisco and other switching options in GNS3
David Bombal
GNS3 switching setup and options Part 2: GNS3 unmanaged built-in switch
David Bombal
GNS3 switching setup and options Part 3: Router on a sick with GNS3 unmanaged built-in switch
David Bombal
GNS3 switching setup and options Part 4: Etherswitch Router for Cisco Dynamips Part 1
David Bombal
GNS3 switching setup and options Part 5: Etherswitch Router for Cisco Dynamips Part 2
David Bombal
GNS3 switching setup and options Part 6: Etherswitch, Wireshark, 802.1Q, InterVLAN routing
David Bombal
GNS3 Talks: Docker, Open vSwitch, SDN and OpenFlow Part 1: GNS3 Switching Part 7
David Bombal
GNS3 Talks: Docker, Open vSwitch, SDN and OpenFlow Part 2: GNS3 Switching Part 8
David Bombal
GNS3 Talks: Docker, Open vSwitch, SDN and OpenFlow Part 3: GNS3 Switching Part 9
David Bombal
GNS3 Talks: Docker, Open vSwitch, SDN and OpenFlow Part 4: GNS3 Switching Part 10
David Bombal
GNS3 Talks: Docker, Open vSwitch, SDN and OpenFlow Part 5: GNS3 Switching Part 11
David Bombal
GNS3 Nexus (NX-OSv) switch setup and configuration Part 1: GNS3 switching options Part 12
David Bombal
GNS3 Nexus (NX-OSv) switch setup and configuration Part 2: GNS3 switching options Part 13
David Bombal
GNS3 Talks: Docker, Open vSwitch, SDN and OpenFlow Part 6: GNS3 Switching Part 14
David Bombal
GNS3 Talks: Docker, Open vSwitch, SDN and OpenFlow Part 7: GNS3 Switching Part 15
David Bombal
GNS3 Cisco CSR 1000v setup and configuration Part 1: GNS3 NFV
David Bombal
GNS3 Cisco CSR 1000v setup and configuration Part 2: GNS3 NFV
David Bombal
GNS3 Talks: Use the NAT node to connect GNS3 to the Internet easily!
David Bombal
GNS3 Talks: GNS3 2.0 RC1 is now available
David Bombal
GNS3 Talks: GNS3 2.0 Portable Projects - easily export and import GNS3 projects
David Bombal
GNS3 Talks: Multiple clients sharing projects in real time, plus console session shadowing!
David Bombal
CCNA #035 NAT Troubleshooting Scenario 1 - Can you find the issue? CCNA Exam 200-125 troubleshooting
David Bombal
CCNA #036 NAT Troubleshooting Scenario 2 - Can you find the issue? CCNA Exam 200-125 troubleshooting
David Bombal
GNS3 Talks: ESXi, GNS3 VM and KVM support Part 1: leverage servers and the cloud
David Bombal
CCNA #037 OSPF Troubleshooting - can you find the issue? CCNA Exam 200-125 troubleshooting
David Bombal
GNS3 Talks: ESXi, GNS3 VM and KVM support Part 2: leverage servers and the cloud
David Bombal
CCNA #038 NAT Troubleshooting Scenario 3 - Can you find the issue? CCNA Exam 200-125 troubleshooting
David Bombal
CCNA #039 - OSPF DR, BR and DROTHER Election - do you know the answers?
David Bombal
CCNA #040 NAT Troubleshooting Scenario 4 - Can you find the issue? CCNA Exam 200-125 troubleshooting
David Bombal
GNS3 Talks: Arista vEOS GNS3 import and configuration Part 1
David Bombal
CCNA #041 - OSPF DR, BR and DROTHER Election - do you know the answers?
David Bombal
GNS3 Talks: Arista vEOS GNS3 import and configuration Part 2
David Bombal
GNS3 Talks: ipterm: Linux, Docker, Python, SDN and more! Part 1
David Bombal
More on: Docker & Containers
View skill →Related AI Lessons
⚡
⚡
⚡
⚡
5 Best BrowserStack Alternatives to Optimize Your Testing Infrastructure
Medium · DevOps
️ The Lifecycle Symphony: A Senior SRE’s Deep Dive into Init and Sidecar Containers
Medium · DevOps
`wrangler dev --remote` silently writes to your production KV namespace — here's the fix
Dev.to · 강해수
Qwen 3.6 27B Is the Local Dev Sweet Spot — Here's Why
Dev.to · Carter May
🎓
Tutor Explanation
DeepCamp AI