{"id":122,"date":"2016-05-10T21:13:45","date_gmt":"2016-05-10T19:13:45","guid":{"rendered":"https:\/\/x2d2.de\/blog\/?p=122"},"modified":"2016-05-10T21:13:59","modified_gmt":"2016-05-10T19:13:59","slug":"docker-auf-armhf-compilen","status":"publish","type":"post","link":"https:\/\/x2d2.de\/blog\/index.php\/2016\/05\/10\/docker-auf-armhf-compilen\/","title":{"rendered":"Docker auf armhf compilen"},"content":{"rendered":"<p>Heute schreibe ich mal einen Beitrag zum compilen von Docker (aktuell Version 1.11.1) auf der armhf Plattform.<\/p>\n<p>Warum armhf? Weil viele kleine und stromsparende Platinen darauf basieren und man als bastler sowas gerne mal rumliegen hat. (RaspberryPi 1-3+Zero, Odroid-X2\/U2\/U3\/XU*, BananaPi und wie sie alle hei\u00dfen)<\/p>\n<p>Das gr\u00f6\u00dfte Problem f\u00fcr mich war eigentlich, dass der Daemon nicht starten wollte. Warum wollte er nicht? Das konnte ich erstmal gar nicht so genau sagen, wo es logs zum daemon gab habe ich erst im nachhinein nachgeforscht und begann so meinen Blindflug mit dem ausprobieren des manuellen startens des Docker Daemons via &#8220;docker -d &#8230;&#8221;. Das klappte nat\u00fcrlich nicht.<\/p>\n<p>Warum klappte das nicht? &#8220;-d&#8221; ist deprecated, sowas doofes aber auch, denn es steht gef\u00fchlt nirgendswo und ist auch nicht in der Ausgabe von Docker dokumentiert, wie der Daemon denn gestartet wird. (&#8220;docker daemon&#8221; ist n\u00e4mlich nicht in der ausgabe, wenn man docker in der konsole startet.<\/p>\n<p>Nun aber zum eigentlichen Thema: Docker auf armhf bauen &#8211; in meinem Fall auf einem Ubuntu.<\/p>\n<p>Viele Pakete sind bei mir aus Bastel und Bauzwecken schon vorinstalliert, deswegen verlinke ich hier auch mal auf eine grunds\u00e4tzlich gute Basis Bauanleitung:<\/p>\n<p><a href=\"https:\/\/github.com\/umiddelb\/armhf\/wiki\/Installing,-running,-using-docker-on-armhf-(ARMv7)-devices\">https:\/\/github.com\/umiddelb\/armhf\/wiki\/Installing,-running,-using-docker-on-armhf-(ARMv7)-devices<\/a><\/p>\n<p><strong>&#8220;v1.9.1&#8221; ersetzt Ihr nat\u00fcrlich gegen den Branch aus der docker repo<\/strong>, den ihr bauen wollt, vorzugsweise den neuesten stabilen.<\/p>\n<p><strong>&#8220;docker.io&#8221; ersetzt Ihr durch docker<\/strong>, denn docker.io hei\u00dft bei ubuntu das Paket, nicht aber das init script.<\/p>\n<p>Damit w\u00e4ren wir schon beim eigentlichen Thema: Init Script. Ursp\u00fcnglich war ich davon ausgegangen, dass mein System die Scripte in \/etc\/init.d\/* benutzt zum starten der jobs. Wenn das der Fall gewesen w\u00e4re h\u00e4tte ich ziemlich schnell mein Ziel gefunden.<\/p>\n<p>Dann dachte ich daran, dass ja mittlerweile jeder auf systemd schw\u00f6rt und habe dort die scripte angepasst &#8211; wieder kein treffer.<\/p>\n<p>Irgendwann habe ich dann rausgefunden, dass ubuntu ja upstart benutzt und in <strong>\/etc\/init\/docker.conf<\/strong> endlich die Datei gefunden, die angepasst werden muss. Hier m\u00fcsst ihr den Parameter <strong>&#8220;-d&#8221; durch &#8220;daemon&#8221; ersetzen<\/strong> &#8211; schon sollte alles laufen.<\/p>\n<p>Bei mir l\u00e4uft&#8217; es so jedenfalls &#8211; Docker ist flei\u00dfig am Layer checksummen berechnen.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Heute schreibe ich mal einen Beitrag zum compilen von Docker (aktuell Version 1.11.1) auf der armhf Plattform. Warum armhf? Weil viele kleine und stromsparende Platinen darauf basieren und man als bastler sowas gerne mal rumliegen hat. (RaspberryPi 1-3+Zero, Odroid-X2\/U2\/U3\/XU*, BananaPi und wie sie alle hei\u00dfen) Das gr\u00f6\u00dfte Problem f\u00fcr mich war eigentlich, dass der Daemon [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[],"class_list":["post-122","post","type-post","status-publish","format-standard","hentry","category-docker"],"_links":{"self":[{"href":"https:\/\/x2d2.de\/blog\/index.php\/wp-json\/wp\/v2\/posts\/122","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/x2d2.de\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/x2d2.de\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/x2d2.de\/blog\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/x2d2.de\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=122"}],"version-history":[{"count":2,"href":"https:\/\/x2d2.de\/blog\/index.php\/wp-json\/wp\/v2\/posts\/122\/revisions"}],"predecessor-version":[{"id":124,"href":"https:\/\/x2d2.de\/blog\/index.php\/wp-json\/wp\/v2\/posts\/122\/revisions\/124"}],"wp:attachment":[{"href":"https:\/\/x2d2.de\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=122"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/x2d2.de\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=122"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/x2d2.de\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=122"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}