Anyone else struggle to understand #docker ? As someone who doesn't use it for any work-related reason, it seems completely unapproachable.

I just ran into the first project I'm very interested in which is *only available in docker*, and requires configuration changes before it can run. Every tutorial I can find feels literally like hieroglyphics.

Once docker is installed, it feels like implementation by obfuscation. Everything is just invisible so there is no clear way to do anything. If you run it, and it doesn't work, it's completely opaque. I pull down an image, no idea where it goes. No idea where to edit the yaml files. Been googling for an hour and nothing has helped.

I've been using #Linux now for 23 years and this is easily the stupidest I've ever felt.

@raineer Docker, my beloved.

It's quite easy once you get the hang of it.

Docker is built on the principle of images in containers.

Containers are a isolated space leveraging the namespaces api in the linux kernel. (1 kernel, many distro)

Images are templates that get overlayed on top of eachother, so you can take an image of Arch and install packages on top of it without building an entire OS.

The CLI is pretty easy too, but it can get very overwhelming like all cli's in linux ;p.

Starting a container can be done with
"docker run --rm -it alpine ash"

What did I do there?

Well first ofcourse I specified the docker command and then the run subcommand.

"--rm" will make sure that the container will be removed after use.

"-it" will say that i want an *i*nteractive *t*ty.

"alpine" specifies the image i want

"ash" specifies the command i want to run inside of it :)

that's the first step of dockering.

Try it, mess around with it and then look up
"docker volumes" and "docker networks"
This is maybe the most useful part of docker as it allows for containers to communicate and persist data between restarts.

GLHF! :)