and they levrage dockers too, I mean they r a cloud provider but a truly decentralized one, I am a newbie in Tech but I love to see a pro like u drill it down, Thanks man
I've actually taken professional docker courses. This is better than 90% of them. I will absolutely add "Docker certified by Jeff Fireship" to my resumé the next time I'm on the hunt.
Just to clarify, the top spot still goes to Phippy & Friends and their _Illustrated Children's Guides to Kubernetes_ (which, yes, do cover Docker as well).
Yes, a quick overview is so much better for me than reading a book with 15 chapters. The book or documentation may help later on, but having a complete picture helps me figure out what I'm getting into
Most tech courses are focused on “making your money worth” by overcomplicating concepts and adding unnecessary concepts to virtually increase their price, but making learning boring, exhausting and more complex. In the end you’re sold the idea of a full content course and when you try applying it you simply can’t lol
I've been a casual Docker enjoyer at home with my Unraid server. At work I'm one of two in-house developers working on a large project that needed a simple server with PHP and MS ODBC drivers. My co-worker was in charge of this, but said he needed 2-3 weeks to get this setup. But with Docker I got it running within an afternoon. Now I've also inherited the job of deploying said server on top of my other duties. Thanks, Docker!
Ex unraid user, you can recreate all of unraid for free using Debian, mergerfs/snapraid, and your docker platform of choice :3 if your comfy on unraid then fair enough, but just know you have more powerful free options
I like the sense of humor in these videos, but I'm also impressed at how extremely concise and accurate these videos are in presenting information about computer programming and computer science. Thumbs up.
thanks, whenever someone asks me to explain docker, i'll just rickroll them with this it's kinda funny that there's tool to manage Docker, tool to manage the tool that manages Docker, tool to manage the tool that manages the tool that manages Docker. Then eventually we're back at provisioning the bare-metal layer.
Really solid intro to docker. Took me waaay longer than 8 and a half minutes to piece this together myself by reading documentation and experimenting with containers.
Just a little heads up: the `docker-compose` command has been part of docker for a while now, so you can (and probably should) use `docker compose` without the minus.
I'm always amazed by how efficiently and extremely quickly you can explain such complex concepts. Then I remember that I usually watch things in 1.5x speed. Then I am amazed by how efficiently and relatively quickly you can explain such complex concepts.
I love your videos. They’re like taking a university course in less than 10 minutes: quality info, crunched time. Cram to the max with comical relief for reinforced learning. So amazingly clever! Thank you! 🙏🤩
Thanks for this video. As a developer, I've always heard about Docker, but I found it too intimidating. Now, it makes sense. I've always found it really difficult to deploy my applications from localhost to servers, but the video you provided about Docker opened a new mindset for me. It introduces a whole new scale of deploying my applications. Thank you so much.
Knowing the Jeff's history, this hi_mom destroys me completely, like seriously brings me to tears knowing this will happen to me in the near future. Nice tribute and I hope you're doing ok Jeff :')
Another alternative to Docker; Podman, like docker it is an OCI (open container iniciative) standard compliant, meaning what you do in docker works for podman aswell.
4:19 EXPOSE actually doesn't make the port accessible, it's just a way to highlight to others where your container listens to. To make the port available u should pass the -p flag to docker run, or define it on the compose file :)
Actually nowadays some engineers prefer the concept of: scaling by different, scaling by cloning and scaling by similar. Where cloning just means horizontal and vertical scaling, different means that different servers run different components or services of the application and similar means for example storing users grouped by usernames and every server only handles usernames that start with one Generally speaking, most engineers only know horizontal and vertical so great video! ❤ Really appreciate it!
@trueberryless just today i wanted to suggest this concept of scaling by similarity, but didn't know the name of the idea. Do you perhaps recommend any resources regarding this topic?
3:02 the data is only lost if you delete them. Shutting them down will result in the state being saved like a conventional virtual machine, so that you can continue where you left off before.
Understanding the foundation of Docker and the practical applications of containerization was made much simpler. Your clear explanation of complex topics makes it a valuable resource for anyone striving to improve their understanding of Docker and its capabilities.
The amount of time he spends on learning all the tech to the core to explain us like this is unimaginable. this guy deserves an oscar in programmingwood.
If Kubernetes is too complex for you or your use case, try docker swarm! It is already included with docker and allows you to form a swarm of multiple nodes where containers can be distributed and even scaled. The best part is that this is also compatible with compose, so any service structure in compose just needs some additional lines to provide some more information to the swarm about requirements and more.
@@DroisKargva Swarm uses additional/different ports which might be blocked by cloud providers. In general the swarm control plane traffic should not be public because it is not secure. Also a swarm allows you to have a network between ween different services, even when those are on different physical machines. I would not recommend doing this between servers that are as far away as local hardware and the cloud. So you will have to look if your cloud provider supports Docker Swarm.
@@minelpphynix5667Thank you for your recommendation. It helped it to make a decision. I will go with cloud VPS and see how it will work. Have a great day
Daily Fireship brown-bag lunch, done. Tip: an alternative to Docker Desktop is Rancher Desktop. Rancher is also behind k3s, a minimal implementation of Kubernetes. No affiliation.
It's my tool of choice. As industry already heavily moved on to k8s, Rancher desktop allows habits to form around kuberenetes paradigms as opposed to pure docker.
Neglecting to mention that Docker is just one - although certainly the first and biggest - implementation of open container specifications is kind of a giveaway even if the sponsorship weren’t disclosed
I have been running docker compose in my homelab and it very much speeds up the process of setting up and configuring services in your network. I would recommend it to anyone interested in setting up services or a homelab in general.
you are a man of culture, I see. btw most of docker also works in podman, they have the same container standard, just change the names (example: docker-compose.yml => compose.yml)
@@Blackrobewell, I use podman-compose and there's also kubernetes, I don't know why would you use docker-compose with podman but the answear would be, rename the podman (compose.yml) to Dockerfile or docker-compose.yml, also I think you can specify the file in compose like: "docker-compose -f /compose.yml"
@5:02 Just a note on grammar… docker build does not “turn that file into an image.” It creates a container image, that is completely separate from the Dockerfile, using the commands in the Dockerfile. This type of casual language can confuse novice users. Otherwise, I like your vids and actually learnt some new things from this one. Keep up the good work.
FWIW, he said it "build the file into image". Which is "technically correct". And you still need the file for the docker daemon to track build step reference. So there's a loose coupling between the file and the image it created.
You know as a somewhat typical viewer of your video (React/web software engineer in the industry), I would have never thought about using Docker, but this sponsorship really sold me on the benefits. (sarcasm)
The intermission is a good summation of using Docker. I love how they made things like secrets work completely differently between Docker, Compose, and Swarm. Not confusing at all.
Very surprised you didn’t mention OCI and open alternatives to Docker, such as Podman. This is precisely why I’m wary of videos sponsored by the company who sells the product featured in the video.
Is it really that surprising? It is kind of the point of a sponsored video isn't it? Like why would they want to sponsor him making a video about free alternatives? That is exactly why it has to be made transparent that it is sponsored 🤔
@@JanisWalliser No one expects a sponsored video to prominently feature competitors, but not even _mentioning_ the open source bedrock of the technology lowers quality and trust. A newcomer would walk away from the video thinking Docker is the only way to create & run containers, and that’s pretty lame.
This is a really good video for basics. I'd love a beyond basics video which include concepts like, using env files, selectively up/down a service in compose, accessing a network from another running docker container, re-usable volumes on host machine etc
Expose instruction doesnt make port accessible, ots just like a note for developers, you expose port by starting a conrainer and by doing so you can map any available port from 65535
@@notanenglishperson9865 It is a lot of bloat though, basically shipping an OS with every single app. I guess it's a solution, but I feel like we should be able to solve it better than just cramming everything in there, you end up with so much data duplication it's insane. Not just docker that does this, other isolated environments does it too. From back when we used chroot to less isolated environments like modern conda. I have at least 50gb of just various conda environments on my PC, so much for a 2kb python script, if uses libraries only compatible with a certain version of python then you're back to 200mb or more. Now if I'm going to pack a whole distro on top of each of them, jeez. Not that docker is bad or anything, but it seems like we're solving a problem we could have avoided in the first place by having more streamlined standards or something.
How many people do you need to share this 2kb python script with? I use Docker to make sure my team and app host are all on the same platform. If I had to write a small script, and can careless about system conformity, I would just use Github, the overhead of Docker in this usecase is likely overkill.
@@nicejungle Or you could just take care not to use non-standard dependencies when not necessary and and write a small install script to fetch the rest. Docker makes sense for virtualization, but using it for software distribution is pure laziness.
Nice video! To the best of my knowledge EXPOSE doesn't affect port's accessibility it just highlights what port the service is running on inside the container.
EXPOSE provide default port list when docker run is executed using "publish all ports" option (-P). In theory, it allows service definer and executor to skip the need of negotiating and managing port assignment for each services. E.g a webserver container could expose only the secure port (443) and let the request to port 80 be handled by front proxy for better caching (in case of redirect).
Cloud Run is pretty sweet, btw. Also, look at Docker alternatives like podman. Everything you learned in this is more relating to containers and the OCI specification. Docker is just one program/suite of many that runs containers. 😊
Correction 4:15 where you mention that EXPOSE makes the port accessible, however EXPOSE only describes on which port your app is listening nothing more. Great video for the rest ❤
@3:01 Does shutting down a container mean "deleting" a container? Because Stopping/Restarting a container does not lead to loss of data. The files created on the container's file system (thin layer on top of the image fs) are still accessible after a restart. Am I missing something?
Also @4:15, EXPOSE itself does not bind the port in the container layer to that of the external layer (localhost). The container needs to be spawned with the "publish" flag. Something like `docker run -p 8888:8080` which maps the port 8888 of the local machine to the port 8080 of the container layer; making it possible to reach localhost:8888 on your browser
The description of hypervisor is 2:08 wrong. CPU and memory are not fixed on vSphere, the most popular hypervisor. Containers are great but don’t talk down the hypervisor to make Dock seem more magical.
Superb i got so much out of this in such a short video, as someone who self studies often you can dig very deep into these concepts and im getting a better grasp!
Proud and shame of myself. It took 7 months to learn this. But he thought you in 8 mins. I used to be a Junior devops engineer. I know more than 90+ concepts. Now I am a SysAdmin.
If you print and frame the certificate your fellow admins will clearly notice it and both of you have a quick laugh and a short discussion on how good Fireship videos are. While the suits congratulate you but have no idea what’s this about.
Is Docker good for isolating the VM from the host? For example, if there was an app I want to isolate and run from a VM, can I do this with docker? Traditional VMs tend to have too much overhead, and they don’t have the ease of access I now realize docker has, like browsing the file system and directly running your own commands.
I'm confused about the scaling 3:00. What is scaling and why is it scaling ? Your app's source code now lives in multiple servers (or more) and as people use it, the workload can take it b/c it's distributed?
I think he meant that the traffic is distributed. like in case one is overloaded then any other people that come after can be redirected to use another that are not overloaded using load balancer.
Crazy i lierally started building my own web scraper using selenium and fast api using docker to host it running inside of a dev container in the last week and now fireship decides to drop this
Nice video, would have loved it if you used Podman or similar as an example though to show, that containers are not monopolized by docker anymore and that the OCI is actually a thing :)
Docker Desktop makes everything so much easier, get it here dockr.ly/4c9PYp9
soooo long
and they levrage dockers too, I mean they r a cloud provider but a truly decentralized one,
I am a newbie in Tech but I love to see a pro like u drill it down, Thanks man
Where is the docker certificate in the vid. I want to add to my resume.
Is this a sponsored video?
@@Aoredon it is, did you even watch the video?
Now I can add Docker to my resume
truer words have never been spoken
I was called the champion in docking once.
Way ahead of you
Now I can add Docker SPECIALIST to my resume
Don't, then you'll have to work with it 😅
Under-appreciated brilliance in the writing:
1:30 With vertical scaling, eventually you hit a ceiling.
But with horizontal scaling, eventually you hit a wall
@@lhxperimental that's not true because it doesn't rhyme
@@lhxperimental get it ? vertical scaling -> getting tall -> hitting ceiling ?
@@thatsalot3577 Very much, my response is a play on the same theme
@@lhxperimental sorry I accidentally replied to you I wanted to say it to @Horopter
I am glad Jeff's pronounciation of ps hasn't changed over the years.
what's ps?
@@dejangegic ps as in "docker ps", It probably stands for processes.
That's what we call consistency 😂
@@dejangegic ps - process status
And also printf
I've actually taken professional docker courses. This is better than 90% of them. I will absolutely add "Docker certified by Jeff Fireship" to my resumé the next time I'm on the hunt.
Just to clarify, the top spot still goes to Phippy & Friends and their _Illustrated Children's Guides to Kubernetes_ (which, yes, do cover Docker as well).
@@GSBarlevI'll keep the recommendation in mind! I've been wanting to learn this stuff for quite some time
Yes, a quick overview is so much better for me than reading a book with 15 chapters. The book or documentation may help later on, but having a complete picture helps me figure out what I'm getting into
Most tech courses are focused on “making your money worth” by overcomplicating concepts and adding unnecessary concepts to virtually increase their price, but making learning boring, exhausting and more complex.
In the end you’re sold the idea of a full content course and when you try applying it you simply can’t lol
I'm sorry but an 8 mins video will never be more instructive than a good book.
I've been a casual Docker enjoyer at home with my Unraid server. At work I'm one of two in-house developers working on a large project that needed a simple server with PHP and MS ODBC drivers. My co-worker was in charge of this, but said he needed 2-3 weeks to get this setup. But with Docker I got it running within an afternoon. Now I've also inherited the job of deploying said server on top of my other duties. Thanks, Docker!
i'm needing 3 years to setup my system, and i'm using docker. lol
Ex unraid user, you can recreate all of unraid for free using Debian, mergerfs/snapraid, and your docker platform of choice :3 if your comfy on unraid then fair enough, but just know you have more powerful free options
So now you are just doing someone else's job on top of your duties?
Hope you get a raise for your efforts mate, keep it up
Feel you. I feel seniority title is not about how well we code but about how well we learn to say no to things that will put more on our heads 😅
Make sure they don’t underpay u
docker creates a new problem called "It doesnt work on anybodys machine"
you deserve money for this comment
@@shortgamehistory True
😂
lol
Like Facebook a few days ago?
Bro got a sponsorship from Docker? Way to go Jeff! You've come a long way
Agreed, sponsored by Docker is such a flex
Step one: update resume with docker
Step 2: profit?
no, step 2 is submit 1,000 resumes and get ignored by 99% @@choonyongtan5671
@@choonyongtan5671 Step 2: debug and search on stackoverflow why it's not working
Step 3: dockerize your resume
Step: 4 dockerize your life
1. Computer
2. CPU
3. RAM
4. Disk
5. Bare metal
6. OS
7. Kernel
8. Applications
9. Physical medium
10. Internet
11. Networking
12. Client side
13. Server side
14. Disk I/O
15. Bandwidth
16. Race conditions
17. Memory leaks
18. Unhandled errors
19. Scale
20. Vertical scale
21. Horizontal scale
22. Microservices
23. Distributed systems
24. VM
25. Hypervisor
26. Guest OS
27. Fixed resource allocation
28. Docker
29. Isolate
30. Shared kernel
31. Dynamic resource allocation
32. Daemon process
33. OS-level virtualization
34. Docker desktop
35. Dockerfile
36. Image
37. Layers
38. Dockerhub
39. Container
40. Isolation
41. Portable
42. Vendor lock in
43. Instructions
44. From
45. Base image linux distro
46. Image tag
47. Run
48. Command line
49. User
50. Root user
51. Copy
52. Env
53. Environment vars
54. Expose
55. Port
56. CMD
57. Entrypoint
58. Arguments
59. Label
60. Healthcheck
61. Volume
62. Persistent disk
63. Docker CLI
64. Help
65. Build
66. SHA-256
67. Layer caching
68. Docker scout
69. HI MOM ;D
70. Software bill of material
71. Vulnerabilities
72. Severity rating
73. Run command
74. Localhost
75. Ps command
76. Logs
77. File system
78. Exec
79. Stop
80. Kill
81. Rm
82. Push
83. Registry
84. Eks
85. Serverless
86. Pull
87. Docker compose
88. Multi-container apps
89. YAML config
90. Up
91. Down
92. Orchestration
93. Kubernetes
94. Control plane
95. Cluster
96. Pod
97. Kublet
98. Deployments
99. Fault tolerance
100. Auto heal
101. Borg
Congrats! Now you are Senior DevOps Engineer and you have depression!
69 sus
why did you do this...
I love it!
Now provide the timestamp for each concept
@@juanPabloSanchez44000 its too much ;D
You skipped the docker ignore... 😔
This is one of the first videos I’ve watched where I already knew just about everything. I love Docker. This broke it down perfectly.
@4:30 rest in peace fireshipˋs mom. so sad she wont see those hidden easter eggs anymore but i love that you keep up the tradition
What easter egg?
@@The0GamingHero Look at the API_KEY variable.
He put his signature "hi mom" greeting in the dockerfile @@The0GamingHero
@@salvosuper Ah, I didn't know he was doing that. Thanks for letting me know.
Requiescat de Pace❤
I like the sense of humor in these videos, but I'm also impressed at how extremely concise and accurate these videos are in presenting information about computer programming and computer science. Thumbs up.
Ok now we need 100+ series alongside with 100 seconds series. Like always thanks for providing quality content!!
thanks, whenever someone asks me to explain docker, i'll just rickroll them with this
it's kinda funny that there's tool to manage Docker, tool to manage the tool that manages Docker, tool to manage the tool that manages the tool that manages Docker. Then eventually we're back at provisioning the bare-metal layer.
Really solid intro to docker. Took me waaay longer than 8 and a half minutes to piece this together myself by reading documentation and experimenting with containers.
Just a little heads up: the `docker-compose` command has been part of docker for a while now, so you can (and probably should) use `docker compose` without the minus.
i didn't know that thank you
The original docker-compose command has even been deprecated more than a year ago
@@faster_than_bugs True, but its still getting updates on like every 2 weeks, lul
Haha scrolled to see how far id need to go to see this 🫡
AI Jeff’s knowledge cut off is from before that change
Fireship uploads a Docker tutorial instead of an AI hype video. Proof we live in a simulation and have been transported back to 2019.
Just as my boss was talking about using Docker at work and I got interested in using it in personal projects, this video pops up. Thanks Fireship!
I'm always amazed by how efficiently and extremely quickly you can explain such complex concepts.
Then I remember that I usually watch things in 1.5x speed.
Then I am amazed by how efficiently and relatively quickly you can explain such complex concepts.
I love docker. It’s honestly one of the best technologies ever created for developers to use
I concur
Docker can let up expriment anything everywhere.
It's awesome to test some technology without messing your OS
Yhe problems they produce are awesome too
I love your videos. They’re like taking a university course in less than 10 minutes: quality info, crunched time. Cram to the max with comical relief for reinforced learning. So amazingly clever! Thank you! 🙏🤩
Best 4 minute and 17 second video I've ever seen. Ready to call myself a docker expert.
Thanks for this video. As a developer, I've always heard about Docker, but I found it too intimidating. Now, it makes sense. I've always found it really difficult to deploy my applications from localhost to servers, but the video you provided about Docker opened a new mindset for me. It introduces a whole new scale of deploying my applications. Thank you so much.
fireship never fails to fill me up with his docks
HUH
🤨
💀
Knowing the Jeff's history, this hi_mom destroys me completely, like seriously brings me to tears knowing this will happen to me in the near future. Nice tribute and I hope you're doing ok Jeff :')
Sir.... I wanted to tell you a few vids back, that you are one hell of a gifted creator
Another alternative to Docker; Podman, like docker it is an OCI (open container iniciative) standard compliant, meaning what you do in docker works for podman aswell.
4:19 EXPOSE actually doesn't make the port accessible, it's just a way to highlight to others where your container listens to.
To make the port available u should pass the -p flag to docker run, or define it on the compose file :)
I need to do a lot of tests with multiple services because of my job. Docker has been a godsent. Absolutely my favourite tool.
Actually nowadays some engineers prefer the concept of: scaling by different, scaling by cloning and scaling by similar. Where cloning just means horizontal and vertical scaling, different means that different servers run different components or services of the application and similar means for example storing users grouped by usernames and every server only handles usernames that start with one Generally speaking, most engineers only know horizontal and vertical so great video! ❤ Really appreciate it!
That is just DB sharding, the apps aren't divided just the DB.
@trueberryless just today i wanted to suggest this concept of scaling by similarity, but didn't know the name of the idea. Do you perhaps recommend any resources regarding this topic?
isn't 'scaling by similar' just one approach to load balance the traffic when scaling horizontally? Making it a subset of 'scaling by cloning'
Where can i read about this?
@@tymektretowicz8336sharding
I have no idea what most of these videos are talking about but I love watching them.
_"It works on my container!"_
Thanks!
Sponsored by Docker?! 🤯🤯
3:02 the data is only lost if you delete them. Shutting them down will result in the state being saved like a conventional virtual machine, so that you can continue where you left off before.
Understanding the foundation of Docker and the practical applications of containerization was made much simpler. Your clear explanation of complex topics makes it a valuable resource for anyone striving to improve their understanding of Docker and its capabilities.
Thanks ChatGPT 😅
@@shashanks7088 sounds like that but also it's true what he said haha
The amount of time he spends on learning all the tech to the core to explain us like this is unimaginable. this guy deserves an oscar in programmingwood.
I literally added certified docker expert certificate screeshot at 7:04 on my linkedin.
If Kubernetes is too complex for you or your use case, try docker swarm! It is already included with docker and allows you to form a swarm of multiple nodes where containers can be distributed and even scaled. The best part is that this is also compatible with compose, so any service structure in compose just needs some additional lines to provide some more information to the swarm about requirements and more.
Is it possible to do hybrid deployment with swarm? one server on prem another on DigitalOcean droplet?
@@DroisKargva Swarm uses additional/different ports which might be blocked by cloud providers. In general the swarm control plane traffic should not be public because it is not secure. Also a swarm allows you to have a network between ween different services, even when those are on different physical machines. I would not recommend doing this between servers that are as far away as local hardware and the cloud. So you will have to look if your cloud provider supports Docker Swarm.
@@minelpphynix5667Thank you for your recommendation. It helped it to make a decision. I will go with cloud VPS and see how it will work. Have a great day
Daily Fireship brown-bag lunch, done. Tip: an alternative to Docker Desktop is Rancher Desktop. Rancher is also behind k3s, a minimal implementation of Kubernetes. No affiliation.
It's my tool of choice. As industry already heavily moved on to k8s, Rancher desktop allows habits to form around kuberenetes paradigms as opposed to pure docker.
If I saw that certificate with a resume, I would hire. This is the best Docker crash course I've ever seen. I am adding it to our Knowledge Base.
The greatest sponsor ever. Nobody would understand that's a sponsored video
Neglecting to mention that Docker is just one - although certainly the first and biggest - implementation of open container specifications is kind of a giveaway even if the sponsorship weren’t disclosed
I have been running docker compose in my homelab and it very much speeds up the process of setting up and configuring services in your network. I would recommend it to anyone interested in setting up services or a homelab in general.
Podman 101 when?
you are a man of culture, I see.
btw most of docker also works in podman, they have the same container standard, just change the names (example: docker-compose.yml => compose.yml)
this.
@@emikojennI'm having difficulties coupling podman with docker compose though, iirc it's just podman running docker-compose binary? CMIIW
@@Blackrobewell, I use podman-compose and there's also kubernetes, I don't know why would you use docker-compose with podman but the answear would be, rename the podman (compose.yml) to Dockerfile or docker-compose.yml, also I think you can specify the file in compose like: "docker-compose -f /compose.yml"
This is one of the best explanations of Docker that I've seen in my 6 years of programming
That garbage code line was personal
It took me a little while to get used to Docker, but it's so damn powerful and has made my life so much easier. Love it to bits.
The first sponsered add I wanted to watch
This comes just at the right time to solidify what I've learned from building setups with docker-compose for the past two weeks!
2:42 A docker image does not contain an OS. Just tools and libraries from the selected OS.
I have searched 100+ variations of "what is docker" and this is by far the most approachable answer. Thank you!
Day 3 of a Fireship Video Without AI
Hate this has become a thing on his channel, who cares just posting for the likes / top comment
Good
I absolutely love the ratio of different topics on this channel and I sincerely hope this wasn't a negative comment
Edging these AI simps real good
I don’t get it
@5:02 Just a note on grammar… docker build does not “turn that file into an image.” It creates a container image, that is completely separate from the Dockerfile, using the commands in the Dockerfile.
This type of casual language can confuse novice users.
Otherwise, I like your vids and actually learnt some new things from this one. Keep up the good work.
FWIW, he said it "build the file into image". Which is "technically correct".
And you still need the file for the docker daemon to track build step reference. So there's a loose coupling between the file and the image it created.
6:11 "docker ps"
Gen AI is taking over this channel.
It’s like calling a cat. Pspspsps
You know as a somewhat typical viewer of your video (React/web software engineer in the industry), I would have never thought about using Docker, but this sponsorship really sold me on the benefits. (sarcasm)
This is top top content
The intermission is a good summation of using Docker. I love how they made things like secrets work completely differently between Docker, Compose, and Swarm. Not confusing at all.
"Run command Docker pssssssss" 🤣🤣
I got to build and deploy a entire application using docker on AWS instances on my first job. It was really a wonderful experience working on this
Very surprised you didn’t mention OCI and open alternatives to Docker, such as Podman. This is precisely why I’m wary of videos sponsored by the company who sells the product featured in the video.
Is it really that surprising? It is kind of the point of a sponsored video isn't it? Like why would they want to sponsor him making a video about free alternatives? That is exactly why it has to be made transparent that it is sponsored 🤔
@@JanisWalliser No one expects a sponsored video to prominently feature competitors, but not even _mentioning_ the open source bedrock of the technology lowers quality and trust. A newcomer would walk away from the video thinking Docker is the only way to create & run containers, and that’s pretty lame.
This is a really good video for basics. I'd love a beyond basics video which include concepts like, using env files, selectively up/down a service in compose, accessing a network from another running docker container, re-usable volumes on host machine etc
You won’t find that here on this channel . UA-cam has plenty of content like that tho
Expose instruction doesnt make port accessible, ots just like a note for developers, you expose port by starting a conrainer and by doing so you can map any available port from 65535
Best ad on UA-cam
Bro is sponsored by Docker themselves 😭
6:10 I wasn't ready for that 😆😆
Ah yes, Docker, the revolutionary tool that allows you to turn a 2kB Python script into a 200MB image.
So you disregarded all the benefits it gives, just to make this crucial complainment?
@@notanenglishperson9865 It is a lot of bloat though, basically shipping an OS with every single app. I guess it's a solution, but I feel like we should be able to solve it better than just cramming everything in there, you end up with so much data duplication it's insane. Not just docker that does this, other isolated environments does it too. From back when we used chroot to less isolated environments like modern conda. I have at least 50gb of just various conda environments on my PC, so much for a 2kb python script, if uses libraries only compatible with a certain version of python then you're back to 200mb or more. Now if I'm going to pack a whole distro on top of each of them, jeez. Not that docker is bad or anything, but it seems like we're solving a problem we could have avoided in the first place by having more streamlined standards or something.
a 200 MB image that can run everywhere in one line of bash VS a 2kB script that only runs on my machine
How many people do you need to share this 2kb python script with? I use Docker to make sure my team and app host are all on the same platform. If I had to write a small script, and can careless about system conformity, I would just use Github, the overhead of Docker in this usecase is likely overkill.
@@nicejungle Or you could just take care not to use non-standard dependencies when not necessary and and write a small install script to fetch the rest.
Docker makes sense for virtualization, but using it for software distribution is pure laziness.
All joking aside, after years of general confusion over docker this video was the most concise explanation of it. Thank you!
😎 Docking
Nice video! To the best of my knowledge EXPOSE doesn't affect port's accessibility it just highlights what port the service is running on inside the container.
EXPOSE provide default port list when docker run is executed using "publish all ports" option (-P).
In theory, it allows service definer and executor to skip the need of negotiating and managing port assignment for each services. E.g a webserver container could expose only the secure port (443) and let the request to port 80 be handled by front proxy for better caching (in case of redirect).
docker pssss command 😂
Solid 8 minutes of no-bullshit Docker basics
it could have been 1 hour tutorial but even my brain convinced me that it is surprisingly better this way
My gosh, I wish we had more such informative and short videos. Thank you Sir
This is the coolest channel ever dedicated to IT .
the first two minutes are LEGENDARY!!
Cloud Run is pretty sweet, btw. Also, look at Docker alternatives like podman. Everything you learned in this is more relating to containers and the OCI specification. Docker is just one program/suite of many that runs containers. 😊
I needed this in 2015. Seriously.
Correction 4:15 where you mention that EXPOSE makes the port accessible, however EXPOSE only describes on which port your app is listening nothing more. Great video for the rest ❤
Bringing an "I watched an 8-min Docker video" certificate to your interview after only 7:02 mins watched is peek resume-padding.
I really needed this video 5 years ago. You explained it really really well 👍
@3:01 Does shutting down a container mean "deleting" a container?
Because Stopping/Restarting a container does not lead to loss of data. The files created on the container's file system (thin layer on top of the image fs) are still accessible after a restart.
Am I missing something?
Also @4:15, EXPOSE itself does not bind the port in the container layer to that of the external layer (localhost). The container needs to be spawned with the "publish" flag. Something like `docker run -p 8888:8080`
which maps the port 8888 of the local machine to the port 8080 of the container layer; making it possible to reach localhost:8888 on your browser
So you "MAY" find out that @6:06 fails to load stuff, because of this missing flag
The description of hypervisor is 2:08 wrong. CPU and memory are not fixed on vSphere, the most popular hypervisor. Containers are great but don’t talk down the hypervisor to make Dock seem more magical.
As someone running Docker on many servers and Docker desktop in Windows this was a great video
I'm amazed!
Superb i got so much out of this in such a short video, as someone who self studies often you can dig very deep into these concepts and im getting a better grasp!
Proud and shame of myself. It took 7 months to learn this. But he thought you in 8 mins. I used to be a Junior devops engineer. I know more than 90+ concepts. Now I am a SysAdmin.
Hey! I am doing a talk on docker next month at our local linux group and this just made my life easier lol. Thanks for that
with thus guy you get pretty interresting infomations plus a good laugh🤣🤣, love the content
If you print and frame the certificate your fellow admins will clearly notice it and both of you have a quick laugh and a short discussion on how good Fireship videos are.
While the suits congratulate you but have no idea what’s this about.
Is Docker good for isolating the VM from the host? For example, if there was an app I want to isolate and run from a VM, can I do this with docker? Traditional VMs tend to have too much overhead, and they don’t have the ease of access I now realize docker has, like browsing the file system and directly running your own commands.
one of those must-have videos in your arsenal of tutorial vids 👌👌
Holly cow!!! I've never reviewed so many concepts in less than 8 minutes!!🤯🤯🤯🤯
What a shiny masterpiece! :) Thank you, Jeff!
I'm confused about the scaling 3:00. What is scaling and why is it scaling ? Your app's source code now lives in multiple servers (or more) and as people use it, the workload can take it b/c it's distributed?
I think he meant that the traffic is distributed. like in case one is overloaded then any other people that come after can be redirected to use another that are not overloaded using load balancer.
omg im so glad i knew about 90% of this, else my brain would be fried right now
Crazy i lierally started building my own web scraper using selenium and fast api using docker to host it running inside of a dev container in the last week and now fireship decides to drop this
I am now officially a fireship certified, docker terminology knower. Thanks.
Nice video, would have loved it if you used Podman or similar as an example though to show, that containers are not monopolized by docker anymore and that the OCI is actually a thing :)
I fucking love this channel. Always makes me giggle at work.
Awesome! I finally understand Docker now, thannnnks!