Introduction to Docker: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
(6 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== Separation of sites == | == Separation of sites == | ||
=== Hardware === | === Hardware === | ||
* Most robust level of separation. | |||
* Good option for clients who are large enough to warrant their own server anyway. | |||
=== Virtualisation === | === Virtualisation === | ||
* From the operating system point of view, almost the same as hardware (it is sometimes possible to work out that an OS is running on virtualised hardware as opposed to the physical hardware). | |||
=== Shared hosting === | === Shared hosting === | ||
* Separate by directories and users. | |||
* Causes problems if web server does not run as same user as the site owner. | |||
* Often possible to access other users' data via vulnerabilities, shared directories (e.g. <code>/tmp</code> for sessions). | |||
=== Containers === | === Containers === | ||
* Sits between shared hosting and virtualisation | * Sits between shared hosting and virtualisation. | ||
* Lower overheard than virtualisation. | |||
* Kernel is shared between containers. | |||
* Kernel has built-in support for containers. | |||
== Benefits over virtualisation == | |||
* More sharing between containers means less duplicated code (e.g. kernel). | |||
* Shorter start and stop times. | |||
* Easier to share containers and build on other peoples' work. | |||
* No need for hardware support - although this is less of an issue now that most modern CPUs have virtualisation extensions. | |||
== Installing Docker == | |||
* Use the upstream repositories rather than your distribution, as new versions are released frequently. | |||
* <code>docker help</code> - like many command line tools, Docker offers general help as well as specific subcommands | |||
[[Category:Talks]] | [[Category:Talks]] |
Latest revision as of 10:41, 10 September 2020
Separation of sites
Hardware
- Most robust level of separation.
- Good option for clients who are large enough to warrant their own server anyway.
Virtualisation
- From the operating system point of view, almost the same as hardware (it is sometimes possible to work out that an OS is running on virtualised hardware as opposed to the physical hardware).
- Separate by directories and users.
- Causes problems if web server does not run as same user as the site owner.
- Often possible to access other users' data via vulnerabilities, shared directories (e.g.
/tmp
for sessions).
Containers
- Sits between shared hosting and virtualisation.
- Lower overheard than virtualisation.
- Kernel is shared between containers.
- Kernel has built-in support for containers.
Benefits over virtualisation
- More sharing between containers means less duplicated code (e.g. kernel).
- Shorter start and stop times.
- Easier to share containers and build on other peoples' work.
- No need for hardware support - although this is less of an issue now that most modern CPUs have virtualisation extensions.
Installing Docker
- Use the upstream repositories rather than your distribution, as new versions are released frequently.
docker help
- like many command line tools, Docker offers general help as well as specific subcommands