{"id":282,"date":"2016-03-10T10:00:13","date_gmt":"2016-03-10T09:00:13","guid":{"rendered":"https:\/\/blog.mi.hdm-stuttgart.de\/?p=282"},"modified":"2023-06-07T11:38:43","modified_gmt":"2023-06-07T09:38:43","slug":"docker-running-on-a-raspberry-pi-hypriot","status":"publish","type":"post","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2016\/03\/10\/docker-running-on-a-raspberry-pi-hypriot\/","title":{"rendered":"Docker on a Raspberry Pi: Hypriot"},"content":{"rendered":"<p>Raspberry Pis are small, cheap&nbsp;and easy to come by. But what if you want to use Docker on them? Our goal was to run Docker on several Raspberry Pis and combine them to a cluster with Docker Swarm. To achieve this, we first&nbsp;needed to get Docker running on the Pi.<br \/>\n<!--more--><\/p>\n<p>The <a href=\"https:\/\/www.raspberrypi.org\" target=\"_blank\" rel=\"noopener\">Raspberry Pi<\/a>&nbsp;is a low-cost mini computer which is&nbsp;about the size of a credit card. The goal of the Raspberry Pi Foundation is to help people of all ages to learn to code, though the Raspberry Pi has been used to achieve all sorts of things. The Pi we\u2019re using is a Raspberry Pi 2 Model B. It features an ARM Cortex-A7 processor, 1GB of RAM, an HDMI port, 4 USB ports and an Ethernet port and costs about 35$. Raspberry Pis are not shipped with an OS, so you have to install one yourself on a micro SD card. With the processor being based on ARM architecture and not on x86, you are of course limited in your choice of operating system and applications. The most used OS is <a href=\"https:\/\/www.raspbian.org\" target=\"_blank\" rel=\"noopener\">Raspbian<\/a> which is based on Debian and has several packages bundled with it.<\/p>\n<p>The normal version of Docker does not work with ARM hardware. So we needed some other way to get Docker running on the Pis. While researching, we quickly found&nbsp;<a href=\"http:\/\/blog.hypriot.com\" target=\"_blank\" rel=\"noopener\">Hypriot<\/a>. This project is aimed at bringing the Docker experience to ARM hardware. It is run by five people in their spare time who call themselves &#8220;Docker pirates ARMed with explosive stuff&#8221;. On their site they offer an image which contains everything you need to run Docker on a Pi. It is based on Raspbian and includes a custom version of Docker&nbsp;already installed, which was build to run on ARM, and other useful utilities like Docker Machine. You can also download the Debian package for the custom-made Hypriot Docker to install it&nbsp;manually.<\/p>\n<p>To get started with Hypriot on the Raspberry Pi, you first need to flash the image to a micro SD card. The Hypriot team offers some great guides for <a href=\"http:\/\/blog.hypriot.com\/getting-started-with-docker-and-windows-on-the-raspberry-pi\" target=\"_blank\" rel=\"noopener\">Windows<\/a>, <a href=\"http:\/\/blog.hypriot.com\/getting-started-with-docker-and-mac-on-the-raspberry-pi\" target=\"_blank\" rel=\"noopener\">OS X<\/a> and <a href=\"http:\/\/blog.hypriot.com\/getting-started-with-docker-and-linux-on-the-raspberry-pi\" target=\"_blank\" rel=\"noopener\">Linux<\/a> that guide you through the process step by step. After you followed the guide you can login and you&#8217;re ready to go.<\/p>\n<p>But wait, there&#8217;s a catch: Because the Pi runs on ARM hardware you can&#8217;t just go into Docker Hub and download&nbsp;any image&nbsp;and run it as a container on the Pi. The image&nbsp;also needs to be adapted to the hardware architecture. The Hypriot team <a href=\"https:\/\/hub.docker.com\/u\/hypriot\/\">offers<\/a> some images&nbsp;in Docker Hub, including Java, Redis or MySQL. You can also find other image by searching for terms like &#8220;<a href=\"https:\/\/hub.docker.com\/search\/?isAutomated=0&amp;isOfficial=0&amp;page=1&amp;pullCount=0&amp;q=raspberry&amp;starCount=0\">raspberry<\/a>&#8221;&nbsp;or &#8220;<a href=\"https:\/\/hub.docker.com\/search\/?isAutomated=0&amp;isOfficial=0&amp;page=1&amp;pullCount=0&amp;q=rpi&amp;starCount=0\">rpi<\/a>&#8220;.<\/p>\n<p>So this is how you get Docker running on a Raspberry Pi using Hypriot. You are limited by the image selection, but the most used Docker images are available. Of course, you can always build your own images with Docker.<\/p>\n<p>Next up we&nbsp;want to use Docker Swarm to turn the single Pis into a cluster.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Raspberry Pis are small, cheap&nbsp;and easy to come by. But what if you want to use Docker on them? Our goal was to run Docker on several Raspberry Pis and combine them to a cluster with Docker Swarm. To achieve this, we first&nbsp;needed to get Docker running on the Pi.<\/p>\n","protected":false},"author":6,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[651,2],"tags":[],"ppma_author":[693],"class_list":["post-282","post","type-post","status-publish","format-standard","hentry","category-system-designs","category-system-engineering"],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":2859,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2017\/08\/31\/iot-with-the-raspberry-pi-final-application-part-3\/","url_meta":{"origin":282,"position":0},"title":"IoT with the Raspberry Pi \u2013 Final application \u2013 Part 3","author":"mr143@hdm-stuttgart.de","date":"31. August 2017","format":false,"excerpt":"In our final application, we have put together a solution consisting of four different modules. First, we have again the Raspberry Pi which raises and sends the sensor data using the already presented Python script. We changed the transfer protocol in the final application to MQTT, which gives us more\u2026","rel":"","context":"In &quot;Allgemein&quot;","block_context":{"text":"Allgemein","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/allgemein\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2017\/08\/mqtt-1024x465.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2017\/08\/mqtt-1024x465.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2017\/08\/mqtt-1024x465.jpg?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":28117,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/02\/27\/how-to-develop-notification-system-for-crypto-stocks\/","url_meta":{"origin":282,"position":1},"title":"How to Develop a Notification System for Crypto Stocks for Telegram and Discord","author":"Julia Bai","date":"27. February 2026","format":false,"excerpt":"This blog post was written for the lecture \"System Engineering & Management\" (143101a) by Julia Bai, Frederik Runge and Dominik Seitz. Introduction The cryptocurrency market never sleeps. While traditional stock exchanges close, trading in digital assets occurs 24\/7, characterized by extreme volatility where minutes decide between profit and loss. A\u2026","rel":"","context":"In &quot;Allgemein&quot;","block_context":{"text":"Allgemein","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/allgemein\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/02\/Shift-Left20Defect20Detection20and20Remediation_5.gif?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/02\/Shift-Left20Defect20Detection20and20Remediation_5.gif?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/02\/Shift-Left20Defect20Detection20and20Remediation_5.gif?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/02\/Shift-Left20Defect20Detection20and20Remediation_5.gif?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":3513,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2018\/03\/30\/ci-cd-with-gitlab-ci-for-a-web-application-part-3\/","url_meta":{"origin":282,"position":2},"title":"CI\/CD with GitLab CI for a web application &#8211; Part 3","author":"Nina Schaaf","date":"30. March 2018","format":false,"excerpt":"Hosting your own GitLab server Some users might have concerns regarding security using GitLab for a variety of purposes, including commercial and business applications. That is, because GitLab is commonly used as a cloud-based service - on someone else's computer, so to speak. So setting it up for running it\u2026","rel":"","context":"In &quot;DevOps&quot;","block_context":{"text":"DevOps","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/scalable-systems\/devops\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":308,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2016\/03\/10\/more-is-always-better-building-a-cluster-with-pies\/","url_meta":{"origin":282,"position":3},"title":"More is always better: building a cluster with Pies","author":"Benjamin Binder","date":"10. March 2016","format":false,"excerpt":"So you have written the uber-pro-web-application with a bazillion of active users. But your requests start to get out of hand and the Raspberry Pi under your desk can't handle all the pressure on its own. Finally,\u00a0the time for rapid expansion has come! If you have already containerized your application,\u2026","rel":"","context":"In &quot;Scalable Systems&quot;","block_context":{"text":"Scalable Systems","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/scalable-systems\/"},"img":{"alt_text":"Raspberry Pi 2","src":"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/3\/3d\/Raspberry_PI.jpeg","width":350,"height":200,"srcset":"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/3\/3d\/Raspberry_PI.jpeg 1x, https:\/\/upload.wikimedia.org\/wikipedia\/commons\/3\/3d\/Raspberry_PI.jpeg 1.5x, https:\/\/upload.wikimedia.org\/wikipedia\/commons\/3\/3d\/Raspberry_PI.jpeg 2x, https:\/\/upload.wikimedia.org\/wikipedia\/commons\/3\/3d\/Raspberry_PI.jpeg 3x, https:\/\/upload.wikimedia.org\/wikipedia\/commons\/3\/3d\/Raspberry_PI.jpeg 4x"},"classes":[]},{"id":11460,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2020\/09\/29\/get-car-location-using-raspberrypi-and-google-cloud-iot-core\/","url_meta":{"origin":282,"position":4},"title":"Get car location using Raspberry Pi and Google Cloud IoT Core","author":"Simon L\u00f6bert","date":"29. September 2020","format":false,"excerpt":"Project idea Have you ever been in the situation, that you parked your car somewhere in the city and some hours later, you couldn't remember where you parked it? You may wish to have an application on your smartphone, which is able to locate your car. From this consideration, the\u2026","rel":"","context":"In &quot;Allgemein&quot;","block_context":{"text":"Allgemein","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/allgemein\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/09\/grafik.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":2820,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2017\/08\/31\/iot-with-the-raspberry-pi-part-1\/","url_meta":{"origin":282,"position":5},"title":"IoT with the Raspberry Pi &#8211; Part 1","author":"mr143@hdm-stuttgart.de","date":"31. August 2017","format":false,"excerpt":"Introduction to the project As part of the lecture \u201cSoftware Development for Cloud Computing\u201d in summer term 2017 we primarily wanted to work on a project that has something to do with the Internet of Things. In more detail we decided to measure air quality using a Raspberry Pi with\u2026","rel":"","context":"In &quot;Allgemein&quot;","block_context":{"text":"Allgemein","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/allgemein\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2017\/08\/raspberry_pi_gas_sensor-steckplatine-1024x520.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2017\/08\/raspberry_pi_gas_sensor-steckplatine-1024x520.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2017\/08\/raspberry_pi_gas_sensor-steckplatine-1024x520.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]}],"jetpack_sharing_enabled":true,"authors":[{"term_id":693,"user_id":6,"is_guest":0,"slug":"jp067","display_name":"Jonathan Peter","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/f102831b1dc3df8ea388e5d3cc39f26d24b79a54e1ee1cee521ff9fd513ee1ae?s=96&d=mm&r=g","0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/posts\/282","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/comments?post=282"}],"version-history":[{"count":7,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/posts\/282\/revisions"}],"predecessor-version":[{"id":24662,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/posts\/282\/revisions\/24662"}],"wp:attachment":[{"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/media?parent=282"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/categories?post=282"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/tags?post=282"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/ppma_author?post=282"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}