@@ -8,4 +8,89 @@ meta: Containers are a concept where processes are run isolated on a operating s
88
99
1010# Containers
11+ Containers are an [ operating system] ( /operating-systems.html ) -level
12+ isolation mechanism for running processes and other system resources from
13+ other containers and the base system.
14+
15+
16+ ## Are containers new?
17+ Containers are not conceptually new, dating back to around the 1970s, but
18+ they gained rapid adoption starting in 2012 when several Linux distributions
19+ began integrating containers tools generally made it more practical to
20+ use them. Previously, to use containers a developer would need to use a
21+ less common operating system or distribution customized with some sort of
22+ virtual machine feature. Using containers was basically not supported in typical
23+ deployment scenarios.
24+
25+
26+ ### Containers history and introduction
27+ The following resources do a great job of explaining where the containers
28+ concept came from, how they differ from virtual machines and why they are
29+ useful.
30+
31+ * [ A brief history of containers] ( https://mesosphere.com/blog/brief-history-containers/ )
32+ has some solid context for why containers have taken off in the last
33+ several years, including the integration of operating system container
34+ virtualization in most distributions as well as the creation of management
35+ tools such as [ Docker] ( /docker.html ) , Kubernetes, Docker Swarm and
36+ Mesosphere.
37+
38+ * [ Setting the Record Straight: containers vs. Zones vs. Jails vs. VMs] ( https://blog.jessfraz.com/post/containers-zones-jails-vms/ )
39+ compares and contrasts the designs of Linux containers, zones, jails
40+ and virtual machines. Containers typically take advantage of primitives
41+ but are more complicated because they have more individual parts put
42+ together while zones and jails are designed as top-level operating
43+ system components. There are advantages and disadvantages of these
44+ approaches that you should understand as you use each one.
45+
46+ * [ Containers and Distributed Systems: Where They Came From and Where They’re Going] ( https://mesosphere.com/blog/containers-distributed-systems/ )
47+ is an interview that digs into the past, present and future of
48+ containers based on the experience of Chuck McManis who has worked
49+ on building jails and other process isolation abstractions into
50+ operating systems.
51+
52+ * [ A Practical Introduction to Container Terminology] ( https://developers.redhat.com/blog/2018/02/22/container-terminology-practical-introduction/ )
53+ has both some solid introductory information on containers as well as
54+ a good description of terms such as container host, registry server,
55+ image layer, orchestration and many others that come up frequently
56+ when using containers.
57+
58+ * [ Containers from scratch] ( https://ericchiang.github.io/post/containers-from-scratch/ )
59+ explains how Linux features such as ` cgroups ` , ` chroot ` and namespaces
60+ are used by container implementations.
61+
62+ * [ Running containers without Docker] ( https://jvns.ca/blog/2016/10/26/running-container-without-docker/ )
63+ reviews a migration path for an organization that already has a bunch of
64+ infrastructure but sees advantages in using containers. However, the
65+ author explains why you can use containers without Docker even if you
66+ eventually plan to use Docker, Kubernetes or other container tools and
67+ orchestration layer.
68+
69+ * [ mocker] ( https://github.com/tonybaloney/mocker ) is a Docker imitation
70+ open source project written in all Python which is intended for learning
71+ purposes.
72+
73+
74+ ### Working with containers
75+ You can get started using containers once you understand some of the
76+ terminology and work through a couple of introductory tutorials like the ones
77+ listed above. Check out the below resources when you want to do more advanced
78+ configurations and dig deeper into how containers work.
79+
80+ * [ Linux containers in 500 lines of code] ( https://blog.lizzie.io/linux-containers-in-500-loc.html )
81+ is a bonkers in-depth post about building your own simplified, but not
82+ simple version of Docker to learn how it works.
83+
84+
85+ ### Container security resources
86+ Container security is a hot topic because there are so many ways of screwing
87+ it up, just like any infrastructure that runs your applications. These
88+ resources explain security considerations specific to containers.
89+
90+ * [ Building Container Images Securely on Kubernetes] ( https://blog.jessfraz.com/post/building-container-images-securely-on-kubernetes/ )
91+ discusses some of the issues with building containers and why the
92+ author created [ img] ( https://github.com/genuinetools/img ) as a tool
93+ to help solve the problems she was seeing.
94+
95+
1196
0 commit comments