{"id":26278,"date":"2016-07-24T14:38:28","date_gmt":"2016-07-24T12:38:28","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=26278"},"modified":"2016-07-24T14:38:28","modified_gmt":"2016-07-24T12:38:28","slug":"packer-a-tool-for-creating-vm-and-container-images","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2016\/07\/24\/packer-a-tool-for-creating-vm-and-container-images\/","title":{"rendered":"Packer &#8211; a tool for creating VM and container images"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p>With the recent explosion in the virtualization and container technologies, one is often left disoriented. \u00a0Questions like &#8220;should I use virtual machines or containers?&#8221;, &#8220;which technology should I use&#8221;, and &#8220;can I migrate from one to another later?&#8221; are just some of those that will need answering.<\/p>\n<p>Here is an open source tool that helps to avoid a few of those questions &#8211; <a href=\"https:\/\/www.packer.io\/\">Packer<\/a> (by <a href=\"https:\/\/www.hashicorp.com\/\">HashiCorp<\/a>):<\/p>\n<blockquote><p>Packer is a tool for creating machine and container images for multiple platforms from a single source configuration.<\/p><\/blockquote>\n<p>Have a look at <a href=\"https:\/\/www.packer.io\/intro\/platforms.html\">the supported platforms<\/a>:<\/p>\n<blockquote>\n<ul>\n<li><strong>Amazon EC2 (AMI)<\/strong>. Both EBS-backed and instance-store AMIs within EC2, optionally distributed to multiple regions.<\/li>\n<li><strong>DigitalOcean<\/strong>. Snapshots for DigitalOcean that can be used to start a pre-configured DigitalOcean instance of any size.<\/li>\n<li><strong>Docker<\/strong>. Snapshots for Docker that can be used to start a pre-configured Docker instance.<\/li>\n<li><strong>Google Compute Engine<\/strong>. Snapshots for Google Compute Engine that can be used to start a pre-configured Google Compute Engine instance.<\/li>\n<li><strong>OpenStack<\/strong>. Images for OpenStack that can be used to start pre-configured OpenStack servers.<\/li>\n<li><strong>Parallels (PVM)<\/strong>. Exported virtual machines for Parallels, including virtual machine metadata such as RAM, CPUs, etc. These virtual machines are portable and can be started on any platform Parallels runs on.<\/li>\n<li><strong>QEMU<\/strong>. Images for KVM or Xen that can be used to start pre-configured KVM or Xen instances.<\/li>\n<li><strong>VirtualBox (OVF)<\/strong>. Exported virtual machines for VirtualBox, including virtual machine metadata such as RAM, CPUs, etc. These virtual machines are portable and can be started on any platform VirtualBox runs on.<\/li>\n<li><strong>VMware (VMX)<\/strong>. Exported virtual machines for VMware that can be run within any desktop products such as Fusion, Player, or Workstation, as well as server products such as vSphere.<\/li>\n<\/ul>\n<\/blockquote>\n<p>The only question remaining now, it seems, is &#8220;why wouldn&#8217;t you use it?&#8221;. :)<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>With the recent explosion in the virtualization and container technologies, one is often left disoriented. \u00a0Questions like &#8220;should I use virtual machines or containers?&#8221;, &#8220;which technology should I use&#8221;, and &#8220;can I migrate from one to another later?&#8221; are just some of those that will need answering. Here is an open source tool that helps &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2016\/07\/24\/packer-a-tool-for-creating-vm-and-container-images\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Packer &#8211; a tool for creating VM and container images<\/span><\/a><\/p>\n<!-- google_ad_section_end -->\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"Packer - a tool for creating VM and container images #SysAdmin #DevOps #Docker #AWS","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_links_to":"","_links_to_target":""},"categories":[1,6,18,133,62,1334],"tags":[3270,3420,3104,1330],"keyring_services":[],"class_list":["post-26278","post","type-post","status-publish","format-standard","hentry","category-general","category-linux","category-programming","category-sysadmin","category-technology","category-web-work","tag-amazon-aws","tag-docker","tag-virtualization","tag-web-development"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":28416,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/02\/27\/7-ways-to-do-containers-on-aws\/","url_meta":{"origin":26278,"position":0},"title":"7 ways to do containers on AWS","author":"Leonid Mamchenkov","date":"February 27, 2018","format":false,"excerpt":"\"7 ways to do containers on AWS\" covers a variety of different ways to run containers on the Amazon AWS cloud infrastructure.\u00a0 These include most of the usual suspects, like Amazon Elastic Container Service (ECS), Amazon Elastic Container Service for Kubernetes (EKS), and hand-rolled vanilla containers on EC2, as well\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/02\/amazon-containers-500x250.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":36094,"url":"https:\/\/mamchenkov.net\/wordpress\/2019\/02\/25\/how-to-build-a-serverless-ci-cd-pipeline-on-aws\/","url_meta":{"origin":26278,"position":1},"title":"How To Build a Serverless CI\/CD Pipeline On AWS","author":"Leonid Mamchenkov","date":"February 25, 2019","format":false,"excerpt":"\"How To Build a Serverless CI\/CD Pipeline On AWS\" is a nice guide to some of the newer Amazon AWS services, targeted at developers and DevOps. It shows how to tie together the following: Amazon EC2 (server instances)Docker (containers)Amazon ECR (Elastic Container Registry)Amazon S3 (storage)Amazon IAM (Identity and Access Management)Amazon\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/02\/aws.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/02\/aws.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/02\/aws.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/02\/aws.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/02\/aws.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/02\/aws.png?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":28177,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/11\/06\/persisting-state-between-aws-ec2-spot-instances\/","url_meta":{"origin":26278,"position":2},"title":"Persisting state between AWS EC2 spot instances","author":"Leonid Mamchenkov","date":"November 6, 2017","format":false,"excerpt":"\"Persisting state between AWS EC2 spot instances\" is a handy guide into using Amazon EC2 spot instances instead of on-demand or reserved instances and preserving the state of the instance between terminations.\u00a0 This is not something that I've personally tried yet, but with the ever-growing number of instances I managed\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/11\/aws-console-create-instance-500x332.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":34995,"url":"https:\/\/mamchenkov.net\/wordpress\/2019\/02\/18\/build-load-balanced-servers-in-aws-ec2-using-cloudformation\/","url_meta":{"origin":26278,"position":3},"title":"Build load-balanced servers in AWS EC2 using CloudFormation","author":"Leonid Mamchenkov","date":"February 18, 2019","format":false,"excerpt":"\"Build load-balanced servers in AWS EC2 using CloudFormation\" is an excellent guide on deploying load balancer servers with EC2 instances to Amazon AWS cloud with CloudFormation infrastructure management tool. The guide covers a variety of topics from the actual deployment to security and monitoring. There are many different approaches for\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/02\/aws.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/02\/aws.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/02\/aws.jpg?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":23796,"url":"https:\/\/mamchenkov.net\/wordpress\/2015\/04\/02\/the-cloud-market-the-most-complete-catalog-of-amazon-ec2-images\/","url_meta":{"origin":26278,"position":4},"title":"The Cloud Market &#8211; the most complete catalog of Amazon EC2 images","author":"Leonid Mamchenkov","date":"April 2, 2015","format":"link","excerpt":"The Cloud Market - the most complete catalog of Amazon EC2 images. \u00a0What's even more interesting is their statistics page.","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"the cloud market","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2015\/04\/the-cloud-market-500x306.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":42587,"url":"https:\/\/mamchenkov.net\/wordpress\/2019\/05\/05\/packets-per-second-limits-in-ec2\/","url_meta":{"origin":26278,"position":5},"title":"Packets-per-second limits in EC2","author":"Leonid Mamchenkov","date":"May 5, 2019","format":false,"excerpt":"\"Packets-per-second limits in EC2\" is an interesting dive into network limits on the Amazon EC2. Even if you aren't hitting any limits yet, this article provides plenty of useful information, including benchmarking tools and quick reference links for Enhanced Networking. The conclusion of the article is: By running these experiments,\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/05\/per_type_max_pps.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/05\/per_type_max_pps.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/05\/per_type_max_pps.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/05\/per_type_max_pps.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/05\/per_type_max_pps.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/05\/per_type_max_pps.png?resize=1400%2C800&ssl=1 4x"},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/26278","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/comments?post=26278"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/26278\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=26278"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=26278"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=26278"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=26278"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}