mrt 312018
 

Wauw! Dit was een site die ik graag een paar weken geleden had willen ontdekken: Katacoda

Dat had me namelijk waarschijnlijk heel wat gestoei met Docker gescheeld. Op Katacoda staan namelijk meer dan 100 interactieve scenario’s voor als je met Docker aan de slag wilt gaan. En ze worden verder uitgebreid met scenario’s voor andere technologieën zoals Git, .NET, Java, CoreDNS, Tenserflow, R-project etc.

Er zijn natuurlijk wel meer (gratis) online resources beschikbaar voor Docker. Maar de YouTube-filmpjes en online instructies zijn niet interactief en soms was het nogal even stoeien om in docker op Windows 10/VirtualMachine alles aan de praat te krijgen.

Katacoda werkt met scenario’s. Dat op zichzelf is nog niet zo spannend, een scenario is een klein brokje lesmateriaal, een thema/onderwerp zo je wilt. Maar wat in dit geval handig is, is dat naast de instructie / uitleg, er meteen een terminalvenster getoond wordt waarin je de commando’s kunt uitproberen. De terminal reageert namelijk precies zoals je van een terminal zou mogen verwachten in een live omgeving. Dat betekent ook dat je ook andere commando’s kunt uitvoeren dan exact in de instructie staan. Je kunt niks stuk maken, je krijgt hoogstens een foutmelding.  Er zitten een paar grenzen aan, ik heb geprobeerd een complete WordPress installatie en een Minecraftserver te installeren, dan krijg je bij Katacoda een foutmelding vanwege te weinig toegewezen geheugen. Voor zulke dingen kun je beter gebruik maken van Play with Docker, maar daarover later meer.

Los van die (logische) begrenzingen is het heel prettig werken in de omgeving. Afhankelijk van wat je nodig hebt, heb je 1 terminal, soms een editor om bv een Dockerfile te wijzigen, maar als je met een Swarm aan de slag gaat heb je (uiteraard) 2 Terminalvensters zodat je zonder problemen kunt simuleren dat de ene machine zichzelf toevoegt aan de swarm.

Prettig is dat je net persé de commando’s die getoond worden over hoeft te typen. Als je er op klikt dan worden ze geknipt en geplakt in het terminalvenster. Natuurlijk, intypen is wel zo verstandig, dat voorkomt dat je parameters in een commandoregel over het hoofd ziet.

Katacoda is echter niet alleen een plek waar je kunt leren. Als jij op jouw beurt scenario’s hebt die je aan anderen over wilt dragen, dan kun je ook de rol van instructeur aannemen en in de omgeving zelf nieuwe scenario’s aanmaken in de ingebouwde editor (of via Github). Zelf heb ik voorlopig even genoeg aan de rol van student, nog meer dan genoeg te leren! 🙂

 

Deel dit bericht:
mrt 252018
 

Toen ik met Resin.io en Docker aan de slag ging voor de TTN Gateway verliep het installatieproces probleemloos en snel. Inmiddels ben ik er ook achter dat het een andere verhaal wordt als je zelf een image wilt aanmaken.

Installatie op mijn laptop ging op zich wel, al heb ik uiteindelijk gekozen voor de Docker Toolbox omdat de “officiële” huidige versie op het eerste Windows 10 systeem waar ik het uitprobeerde voor de nodige problemen zorgde. Sommige containers werken daar heel mooi. Zo wist ik oude tijden te laten herleven door Etherpad te installeren op basis van deze container. Voor de jongeren onder ons: voordat Google documenten en Microsoft Word online het mogelijk maakten om samen, online, aan hetzelfde document te werken, was er al een gratis online dienst (Etherpad) die dat ook mogelijk maakte. Niet zo fancy als de anderen, maar gratis in een tijd dat nog niemand anders dat kon. Toen de dienst offline ging hebben ze de code en installatie open source beschikbaar gemaakt. Ook R en RStudio kreeg ik aan de praat met dank aan deze uitgebreide handleiding.

Installeren van Docker op een Raspberry Pi ging ook niet zonder slag of stoot. De installatie via Hypriot vergt dat ik ofwel de image via hun eigen flash-tool (geen Windows versie) uitvoer ofwel een vast netwerkverbinding heb. Omdat ik 2 Raspberry Pi zero’s ter beschikking had, was dat niet direct een handige optie. Rechtstreeks installeren op een bestaande image met deze instructies leek te werken, maar als ik docker probeerde op te starten kreeg ik niet meer dan een foutmelding.

Uiteindelijk ben ik dus met Resin.io aan de slag gegaan. Het coole daarbij was en is het heel eenvoudig is om meerdere apparaten toe te voegen. Wijzigingen worden dan automatisch naar alle apparaten doorgestuurd zodat ze steeds allemaal de laatste versie van de container(s) hebben. Ik zet de (s) even tussen haakjes. Ook via Resin.io kun je meerder containers tegelijkertijd op een machine laten draaien. De setup daarvan is echter ook weer even net wat ingewikkelder dan met één container.

En voor je het weet ben je dus wel meer dan even bezig met het onder de knie krijgen van een systeem dat eigenlijk tijd zou moeten besparen.  Tja, in ieder geval wat geleerd. 🙂

Deel dit bericht: