Explain Docker Like I'm Five

What is it actually and why/when/where should I/could I use it?

Did you find this post useful? Show some love!
DISCUSSION (5)

Once upon a time before Docker if you wanted to have a unified dev environment where a new hire wants to start working if they're lucky there is a vagrant setup which sucks up 80% of your system's resources or more typically some out of date documentation like "download this thing, extract it here, add these env vars" and then it still doesnt work.

In the world of docker you can very easily configure all the system dependencies you need for your project in a consistent, easy way with a few config files.

Not only that but if you work with docker locally and in production you can say "it works on my computer" and with some legitemacy expect it to work in production too.

Docker is not without problems but a lot of my dev life has been wasted reconfiguring snowflake db setups because they got out of date in CI vs live or vs dev.

Docker brings a unified way of setting up your work in a production-like environment

Got it!

Could I make a parallel to Python virtual environments, with a requirements.txt file? I understand that Docker is more encompassing, while Python virtualenvs are Python-only, but it is the same base idea, right?

D.

I haven't done much Python but from what i understand that means when you cd into the directory it sets up the env vars for you?

If yeah, kinda?

As always, the best thing to do is try it yourself.

Get docker installed and then set up a docker-compose file with a DB configured in it. Do docker-compose up, smile. Then add another db to the file and then pick your jaw up from the floor when you realise how easy it all is.

There are some parallels in concept maybe? The key difference is while Python Virtual Environments isolate which Python interpreter, environment, and paths you use, its still apart of the host system.

Docker images are only reliant upon the host kernel and run isolated from the system like a sandbox.

Example: Wanna test what a particular command or python script will do to a system without affecting the actual host? Run it inside a docker container.

I think this will help. They explain containers and Docker

dev.to/mmg/explain-containers-like...

Classic DEV Post from Sep 6

Impostor Syndrome.

So what's legit.

READ POST
Follow @ruthmichaela to see more of their posts in your feed.
Daniel da Rocha
fulltime architect coding during coffee breaks
More from @danroc
Explain Middleware Like I'm Five
#explainlikeimfive #middleware #server
Trending on dev.to
Frequent delivery - how?
#discuss #delivery
Building A Streaming Fraud Detection System With Kafka And Python
#kafka #python #docker #showdev
Explain JavaScript Promises like I am five.
#discuss #explainlikeimfive #javascript
If you don't hire juniors, you don't deserve seniors
#career #management #recruiting
How do you think of angularjs application
#discuss
Getting started with Docker
#docker #devops #nginx #containers
Thoughts on Dashboard Design
#data #dashboard #dataanalysis #productivity
How Docker Works… Sort Of
#netcore #applicationtypes #docker #tutorial