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.
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.
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.
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.
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.
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! 🙏🤩
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.
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?
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.
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 :')
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.
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.
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 :)
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.
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"
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
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
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.
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).
@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.
@@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.
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
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 ❤
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
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!
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 :)
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)
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.
docker buildx command is a nice addition for multiple configurations of a single container or building clusters. Alternatively docker-compose can be used to run containers while setting up container networks.
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'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
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
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
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
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.
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... 😔
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!!
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.
@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❤
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.
Best 4 minute and 17 second video I've ever seen. Ready to call myself a docker expert.
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 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
@@maximeaube1619 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
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.
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!
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.
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! 🙏🤩
fireship never fails to fill me up with his docks
HUH
🤨
💀
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.
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.
Sponsored by Docker?! 🤯🤯
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.
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 :')
This is one of the best explanations of Docker that I've seen in my 6 years of programming
_"It works on my container!"_
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.
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
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
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.
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 :)
Best ad on TH-cam
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.
I literally added certified docker expert certificate screeshot at 7:04 on my linkedin.
I have searched 100+ variations of "what is docker" and this is by far the most approachable answer. Thank you!
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"
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
This comes just at the right time to solidify what I've learned from building setups with docker-compose for the past two weeks!
This is top top content
All joking aside, after years of general confusion over docker this video was the most concise explanation of it. Thank you!
The first sponsered add I wanted to watch
the first two minutes are LEGENDARY!!
"Run command Docker pssssssss" 🤣🤣
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 . TH-cam has plenty of content like that tho
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
My gosh, I wish we had more such informative and short videos. Thank you Sir
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
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.
The most concise and informative Docker tutorial I've come across on TH-cam, all under 10 minutes!
6:11 "docker ps"
Gen AI is taking over this channel.
It’s like calling a cat. Pspspsps
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).
Bro is sponsored by Docker themselves 😭
Solid 8 minutes of no-bullshit Docker basics
2:42 A docker image does not contain an OS. Just tools and libraries from the selected OS.
@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.
😎 Docking
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.
I needed this in 2015. Seriously.
docker pssss command 😂
Halfway intermission was awesome!
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
This is the coolest channel ever dedicated to IT .
As someone running Docker on many servers and Docker desktop in Windows this was a great video
I'm amazed!
I really needed this video 5 years ago. You explained it really really well 👍
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 am now officially a fireship certified, docker terminology knower. Thanks.
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
6:10 I wasn't ready for that 😆😆
it could have been 1 hour tutorial but even my brain convinced me that it is surprisingly better this way
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 ❤
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
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!
one of those must-have videos in your arsenal of tutorial vids 👌👌
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 :)
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)
Amazingly done. Great summary of docker and kubernettes
omg im so glad i knew about 90% of this, else my brain would be fried right now
Thank you for the certificate, I will now add that onto my resume.
Been using docker for years and just learned I can use the docker gui to execute commands 😮❤
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.
docker buildx command is a nice addition for multiple configurations of a single container or building clusters. Alternatively docker-compose can be used to run containers while setting up container networks.
I understood like solid 40 % of this video. I'm so proud of myself.
love how you still leave those easterr eggs for your mom ❤
Holly cow!!! I've never reviewed so many concepts in less than 8 minutes!!🤯🤯🤯🤯
amazing work💯 now I understand how to use docker next maybe you could do a tutorial on how to publish your docker container to different cloud vendors
One of the best explanation for docker by you thankyou 🎉
I fucking love this channel. Always makes me giggle at work.
now i can develop my own LLM in my 10 year laptop using Docker! Thanks Fireship!