Översikt
Andra kursveckan handlar om Docker, terminalen i Linux och Bash-skript.
Händer i veckan
Section titled “Händer i veckan”Nästa vecka får du en egen server, och under resten av kursen utvecklar och driftsätter du dina webbapplikationer i containrar. Den här veckan lägger grunden för båda:
- Du installerar Docker Desktop och lär dig arbeta med images, containrar och volymer.
- Du tränar på Linux och Bash i en Ubuntu-container, där inget kan gå sönder på riktigt.
- Har du tid över kan du göra i ordning en server i Linux-sandlådan: SSH-nycklar, användare, rättigheter, loggar och ett skript för säkerhetskopiering.
“Stå-upp”-vlogg
Section titled ““Stå-upp”-vlogg”Föregående års “stå-upp”-vlogg för er som vill ha en introduktion till kursveckan.
Den här inspelningen är delad mellan de två kurserna: första delen handlar om 1DV025, andra delen — den som sammanfattas här — om 1DV026:s andra kursvecka.
Från nätverk till servrar
Section titled “Från nätverk till servrar”Förra veckans nätverksbegrepp är grunden för att förstå den miljö man driftsätter applikationer i. Den här veckan handlar om att lära känna just den miljön: Ubuntu/Linux och terminalen där. Det liknar i stor utsträckning den lokala terminal (Git Bash) som de flesta redan suttit i — enligt en tidigare undersökning använder omkring 70 % av studenterna Windows. Under veckan sätts även molnservrar (som används längre fram i kursen, inte denna vecka) upp åt varje student.
Docker istället för Vagrant
Section titled “Docker istället för Vagrant”Den äldre inspelningen som ingår i veckans material (gjord av en tidigare kollega) använder Vagrant för virtualisering, men kursledningen rekommenderar Docker istället — enklare, mer modernt, och allt körs isolerat utan att påverka den egna datorn. Rekommenderad ordning:
- Gör övningsuppgiften “Ubuntu as a Docker Container” först — den är en introduktion till att installera Docker Desktop, hämta en Ubuntu LTS-image och köra samt verifiera en container.
- Gå därefter igenom det stödjande materialet om olika kommandon och sätt att hantera miljön.
Det är en fördel att ha en container igång samtidigt som man läser/lyssnar, så man direkt kan prova kommandon som nämns.
Ett kaninhål med flera ingångar
Section titled “Ett kaninhål med flera ingångar”Kursledningen påpekar att det här momentet öppnar flera trådar man kan fördjupa sig i: Docker och containerteknik i sig, Bash som eget programmeringsspråk, samt hanteringen av en Unix-server rent generellt (inloggning, omstart, felsökning). Det är helt normalt att det tar tid innan containers och Docker känns självklart — det beskrivs som en flerårig resa som senare fortsätter mot Kubernetes-kluster i en kommande kurs (Cloud Native Applications).
Övrigt denna vecka
Section titled “Övrigt denna vecka”Relativt lite läsning och få övningsuppgifter jämfört med andra veckor — en lugnare vecka rent volymmässigt. Inget fredagshäng denna vecka på grund av 1DV025:s omexaminationer på torsdagen.
Lärmaterial
Section titled “Lärmaterial”Veckans material består av två delar, som båda avslutas med övningar och lösningsförslag:
- Docker-kommandon introducerar Docker och de kommandon du använder mest.
- Linux-kommandon introducerar skalet, filsystemet, de vanligaste kommandona, rättigheter, pipes, processer och Bash-skript. Där finns också tips på inspelningar och annat material för den som vill fördjupa sig.
Övningar
Section titled “Övningar”Under Övningsuppgifter hittar du veckans övningar i den ordning de bygger på varandra, med en uppskattning av hur lång tid de tar. Övningarna på Docker-kommandon och Linux-kommandon tar ungefär två och en halv timme. Extraövningarna och Linux-sandlådan är till för dig som har tid över.
Handledning
Section titled “Handledning”Skicka gärna in frågor på förhand via vårt formulär som du når här:
Studiefrågor
Section titled “Studiefrågor”Här är ett antal frågor som du kan försöka besvara och diskutera tillsammans med din Ai-kompis. Tveka inte att lyfta någon av frågorna till handledningen för att fortsätta diskussionen med lärare och studiekamrater.
Frågor att diskutera med din Ai-kompis
- Förklara hur tekniken bakom Docker fungerar, översiktligt.
- Jag är ny på Docker och tänkte installera Docker Desktop och starta upp en container för Ubuntu, låter det rimligt?
- Vilka är de vanligast bash-kommandona som jag behöver lära mig för att hantera Linux?
- Kan det vara en bra idé att installera WSL på Windows för att träna sig mer på bash och Ubuntu?
Här är en utskrift från hur det såg ut när jag diskuterade ovan frågor med min Ai-kompis Ajj.
Här följer tips till hur du kan prioritera bland kursmaterialet för att komma igång med veckan.
- Installera Docker Desktop och gå igenom Docker-kommandon med övningar. Docker är en spännande teknologi, så titta gärna på några videor som förklarar hur det fungerar. Allt annat i veckan bygger på att du kan starta en container.
- Starta en egen Ubuntu-container och lär dig tillräckligt med Bash-kommandon för att navigera i filsystemet. Gå igenom Linux-kommandon med övningar. Föredrar du video finns tips på sidan.
- Har du tid över gör du Linux-sandlådan under Övningsuppgifter. Den samlar det du har lärt dig och tränar precis det du behöver när du gör i ordning din egen server nästa vecka.
- Kör man Mac så har man en bash-terminal (zsh) och är man på Windows så kan man via WSL installera ett subsystem för Linux och köra en helt egen terminal som kör Ubuntu/bash. Prova gärna det om du är på Windows, se artikeln How to install Linux on Windows with WSL.