
Explaining Docker and Containers - rschachte
https://www.youtube.com/watch?v=JSLpG_spOBM
======
useiuser
Am I the only one which thinks the docker vs vm slide is just wrong as there
is nothing running on the docker daemon at all and even super simple docker
pics on docker Inc. always talk about the docker engine as abstraction between
os and container. This also lacks a bit but is a way better analogy for all
the Linux namespacing cgroups etc. Which habens in reality on the kernel. The
daemon doesn't run anything at all but maintaines state.

IMHO this are the kind of simplifications which just make people more confused
about a complex topic like that on the long run And in addition the last
points are also applying fully to micro vms but are shown as great benefit of
docker. I can't like it unfortunately

------
djsumdog
This video is just ... all over the place. It's too advanced for a basic
audience and too simple for people who have been admins for years. I get what
he's trying to say and it's a good production job, but it's trying to hit too
wide an audience.

------
A_No_Name_Mouse
I have almost no experience with Docker so this may be a beginners question.
How would one get to the output of a Docker image such as logging? On a
(virtual) O.S. I can log on, but would I have a similar solution on a Docker
image? Or would I have to redirect all logging to a central server or
database?

~~~
gmuslera
You can log inside the container as normal (if it is a long running/persistent
one) and exec a shell on it to work with the logs, or you can log to a mounted
volume (to local drive, another container used for storage, a remote drive,
etc), or send the logs to a central log server or an elasticsearch database to
have a search engine/dashboard for your logs. There are more options, but the
best depends on your use case.

------
connectsnk
This whole channel is brilliant. Reminds me of the quote. If you cant explain
something in simple terms, you don't understand it well enough

~~~
useiuser
Funny statement as he didn't understand it well enough

------
stevebmark
When I run a docker container, is it booting an entire OS (minus kernel) to
run that command?

~~~
rschachte
docker run will run a little base image (such as ubuntu), but the host kernel
is indeed shared.

The Docker Client and the Docker Daemon (together called the Docker Engine)
are running on the Host OS.

Each container shares the Host OS kernel.

~~~
stevebmark
so if my base image is say ubuntu, `docker run` runs the entire ubuntu os,
then also runs the process on top of that os?

~~~
arpa
Container ~= process which has been isolated from the host system using linux
specific kernel features. If you launch systemd and all ubuntu services, yes,
it will effectively run the whole os, otherwise, it's just a process like any
other with no overhead. Why the image? Well it contains the filesystem of your
container - all the libraries your process needs to convert its' logic to
kernel syscalls, all in their own filesystem bubble, so there are no clashes,
wrong versions, etc.

