Introduction to Docker

From Rixort Wiki
Jump to navigation Jump to search

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).

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. /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