{"id":2686,"date":"2019-04-15T21:46:13","date_gmt":"2019-04-15T19:46:13","guid":{"rendered":"http:\/\/miro.borodziuk.eu\/?p=2686"},"modified":"2019-08-28T17:29:57","modified_gmt":"2019-08-28T15:29:57","slug":"containers","status":"publish","type":"post","link":"http:\/\/miro.borodziuk.eu\/index.php\/2019\/04\/15\/containers\/","title":{"rendered":"Containers"},"content":{"rendered":"<p>A container is a package that contains an application, libraries, and file system required to run it. Containers run on a container engine that generally runs within a single OS, such as Linux. Containers provide the isolation benefits of virtualization but are more lightweight, allowing faster starts and more dense packing within a host.<\/p>\n<p><!--more--><br \/>\nA popular container engine is <strong>Docker<\/strong>, which is the basis for<strong> Elastic Container Service (ECS).<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-2729 aligncenter\" src=\"http:\/\/miro.borodziuk.eu\/wp-content\/uploads\/Containers1.jpg\" alt=\"\" width=\"284\" height=\"436\" srcset=\"http:\/\/miro.borodziuk.eu\/wp-content\/uploads\/Containers1.jpg 284w, http:\/\/miro.borodziuk.eu\/wp-content\/uploads\/Containers1-195x300.jpg 195w\" sizes=\"(max-width: 284px) 100vw, 284px\" \/><\/p>\n<p>An image is a <strong>collection<\/strong> of file system layers. Docker file systems are differential \u2014 each layer stores differences from previous layers.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-2730 aligncenter\" src=\"http:\/\/miro.borodziuk.eu\/wp-content\/uploads\/Containers2.jpg\" alt=\"\" width=\"292\" height=\"373\" srcset=\"http:\/\/miro.borodziuk.eu\/wp-content\/uploads\/Containers2.jpg 292w, http:\/\/miro.borodziuk.eu\/wp-content\/uploads\/Containers2-235x300.jpg 235w\" sizes=\"(max-width: 292px) 100vw, 292px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>ECS is a<strong> managed container engine<\/strong>. It allows Docker containers to be deployed and managed within AWS environments. ECS can use infrastructure clusters <strong>based on EC2<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-2732 aligncenter\" src=\"http:\/\/miro.borodziuk.eu\/wp-content\/uploads\/Containers3.jpg\" alt=\"\" width=\"626\" height=\"564\" srcset=\"http:\/\/miro.borodziuk.eu\/wp-content\/uploads\/Containers3.jpg 626w, http:\/\/miro.borodziuk.eu\/wp-content\/uploads\/Containers3-300x270.jpg 300w\" sizes=\"(max-width: 626px) 100vw, 626px\" \/><\/p>\n<p>or<strong> Fargate<\/strong> where AWS manages the backing infrastructure.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-2733 aligncenter\" src=\"http:\/\/miro.borodziuk.eu\/wp-content\/uploads\/Containers4.jpg\" alt=\"\" width=\"620\" height=\"538\" srcset=\"http:\/\/miro.borodziuk.eu\/wp-content\/uploads\/Containers4.jpg 620w, http:\/\/miro.borodziuk.eu\/wp-content\/uploads\/Containers4-300x260.jpg 300w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #999999;\">Cluster<\/span><\/p>\n<p>A logical collection of ECS resources \u2014 either ECS EC2 instances or a logical representation of managed Fargate infrastructure<\/p>\n<p><span style=\"color: #999999;\">Task Definition<\/span><\/p>\n<p>Defines your application. Similar to a Dockerfile but for running containers in ECS. Can contain multiple containers.<\/p>\n<p><span style=\"color: #999999;\">Container Definition<\/span><\/p>\n<p>Inside a task definition, a container definition defines the individual containers a task uses. It controls the CPU and memory each container has, in addition to port mappings for the container.<\/p>\n<p>Task<\/p>\n<p>A single running copy of any containers defined by a task definition. One working copy of an application (e.g., DB and web containers).<\/p>\n<p><span style=\"color: #999999;\">Service<\/span><\/p>\n<p>Allows task definitions to be scaled by adding additional tasks. Defines minimum and maximum values.<\/p>\n<p><span style=\"color: #999999;\">Registry<\/span><\/p>\n<p>Storage for container images (e.g., ECS Container Registry or Dockerhub). Used to download image to create containers.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A container is a package that contains an application, libraries, and file system required to run it. Containers run on a container engine that generally runs within a single OS, such as Linux. Containers provide the isolation benefits of virtualization but are more lightweight, allowing faster starts and more dense packing within a host.<\/p>\n","protected":false},"author":1,"featured_media":2688,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[76],"tags":[],"_links":{"self":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts\/2686"}],"collection":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/comments?post=2686"}],"version-history":[{"count":6,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts\/2686\/revisions"}],"predecessor-version":[{"id":2735,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts\/2686\/revisions\/2735"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/media\/2688"}],"wp:attachment":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/media?parent=2686"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/categories?post=2686"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/tags?post=2686"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}