Quote:
Originally Posted by
bakunin
You already got some excellent answers to your questions at hand but you might profit from a little "theory" behind all that, so here it goes:
I hope that connects a few loose ends.
bakunin
It does connect a few loose ends. But I really didn't think docker was a para-virtualization product. I thought they were just implemented as jailed processes.
AFAIK Docker mainly uses Linux Namespaces and Cgroups to create a virualized environment for execution.
One more thing that is bugging me is : When you install a software within a docker container does it get installed into the host OS also? Intution tells me that is how it should be since a Docker mainly shares the host kernel. If so, then shouldn't it share the host package management system.
Where this logic falls apart is when on an Ubuntu system we can run a Debian or Alpine docker. How is that possible? How can debian binaries even run on an Ubuntu system?
Lastly, why does docker need the root filesystem of the OS that it is trying to emulate on disk? What does it mean to have a rootfs of an OS and again how can utilities within in run an another OS. This refers mostly to the video that I have linked in my original question. If it is at all possible please watch it ( I have marked the actual place where it got generated)- you will know why I am getting confused.
--- Post updated at 04:47 PM ---
Quote:
Originally Posted by
MadeInGermany
Hard to explain. An example is a disk mount (filesystem like ext3,ext4,reiserfs,xfs,...), that is only allowed once, because writes to the two mount points would cause a corruption in the filesystem on the disk. But: a bind mount of the primary disk mount to another mount point is allowed; all writes occur at the primary mount point.
Didn't get what you explained. Let me tell you of what idea I have of the Linux mount process then may be you will get a better idea of why I am failing to grasp the concept.
Any block device that the kernel identifies can be mounted to a location in the VFS. The location, which is just a directory is called a mount point.
Now one question is that can an already mounted device be mounted twice? A partition that is mounted twice? If so I don't see why it would cause corruption as you say it would.
You writing to the same block device, the kernel just identifies it to the user by 2 mount points.
Next, is what is a
primary mount point? Is the first mount of the block device?
Can a mount point be mounted again? Why would you want to do that?
Where does bind mount fit into all of this?