Les 5 - Kennismaking met Containerization

Python intro
Programming basics-II
Les 3 / Week 7a
Kennismaking met Docker
FUT: Future Tech
Les 5
1 / 19
volgende
Slide 1: Tekstslide
Applicatie- en mediaontwikkelaarMBOStudiejaar 3

In deze les zitten 19 slides, met interactieve quiz en tekstslides.

time-iconLesduur is: 60 min

Onderdelen in deze les

Python intro
Programming basics-II
Les 3 / Week 7a
Kennismaking met Docker
FUT: Future Tech
Les 5

Slide 1 - Tekstslide

Deze slide heeft geen instructies

Deze les
  • Virtualisatie
  • Docker
  • Containerization
  • Voorbeelden
  • Demonstratie 

Volgende lessen
  • Hands-on met Docker

Slide 2 - Tekstslide

Deze slide heeft geen instructies

Virtualisatie

Slide 3 - Tekstslide

Deze slide heeft geen instructies

Virtualisatie
  • Een technologie waarmee meerdere virtuele machines op één fysieke machine kunnen draaien.
  • Het creëert geïsoleerde omgevingen die onafhankelijk van elkaar kunnen opereren.

Slide 4 - Tekstslide

Deze slide heeft geen instructies

Virtualisatie
  • Een technologie waarmee meerdere virtuele machines (guest) op één fysieke machine (host) kunnen draaien.

Slide 5 - Tekstslide

Deze slide heeft geen instructies

Slide 6 - Tekstslide

Deze slide heeft geen instructies

Slide 7 - Tekstslide

Deze slide heeft geen instructies

Redenen om te virtualiseren
  • Efficiënter gebruik van hardware door meerdere virtuele machines op één fysieke machine te draaien.
  • Flexibiliteit en schaalbaarheid door het gemakkelijk toevoegen of verwijderen van virtuele machines.
  • Verbeterde isolatie voor veiligheid en stabiliteit.
  • Snellere implementatie van applicaties en resources.

Slide 8 - Tekstslide

Deze slide heeft geen instructies

Software
VirtualBox
QEMU
VMWare
Parallels Desktop

Slide 9 - Tekstslide

Deze slide heeft geen instructies

Containerization

Slide 10 - Tekstslide

Deze slide heeft geen instructies

Containerization
  • Een virtualisatietechniek waarbij applicaties en hun afhankelijkheden in gestandaardiseerde eenheden, containers genaamd, worden verpakt
  • Deze containers zijn draagbaar, lichtgewicht, bieden isolatie en kunnen snel worden gestart.
  • Docker is een veelgebruikte tool voor containerization.

Slide 11 - Tekstslide

Deze slide heeft geen instructies

Slide 12 - Tekstslide

Deze slide heeft geen instructies

"Het duurde uren voordat ik al die software geïnstalleerd had. Het leek niet goed samen te werken met andere software op mijn apparaat."
Nooit last van gehad.
Herken ik een beetje.
Kan ik me voorstellen, wel eens gehad.
Dit overkomt me vaker.
GEEF ME SNELLE INSTALLATIES, NU!

Slide 13 - Poll

Herkennen studenten zich in dit probleem (waar Docker een oplossing voor kan bieden)?

Python bijvoorbeeld. Het kan zo zijn dat jouw ene pip package niet samenwerkt met een andere.



Voorbeelden toepassing Docker

Slide 14 - Tekstslide

Deze slide heeft geen instructies

Laravel Sail

Slide 15 - Tekstslide

Deze slide heeft geen instructies

Slide 16 - Tekstslide

Deze slide heeft geen instructies

Slide 17 - Tekstslide

Deze slide heeft geen instructies

Demonstratie Docker
Het gemak van Docker gedemonstreerd a.d.h.v. 'Gogs' installatie
(Gogs is een self-hosted GitHub alternatief)

  1. docker pull gogs/gogs
  2. docker run --name=gogs -p 10022:22 -p 3000:3000 -v C:\gogs-data:/data gogs/gogs
  3. Ga naar http://localhost:3000 en configureer je eigen GitHub

Slide 18 - Tekstslide

Uitleg voor de docent:

Installeer vooraf: 
- Docker Desktop (op Windows) - Het beste activeer je de WSL2 engine (daarvoor moet je WSL2 op je systeem installeren, ik gebruik zelf WSL2 + Ubuntu 22.04)
  1. Start Docker Desktop
  2. Open een Command Prompt op je desktop (Geen Git Bash, tenzij je `MSYS_NO_PATHCONV=1` voor je commando's zet)
  3. Volg de instructies op de slide een-voor-een.
  4. Configureer gogs: Kies SQLite 3 als database om snel te starten, klap onderin het scherm de 'beheerdersaccount' sectie open en voer inloggegevens in. Ga hierna verder.
  5. Na het aanmaken heb je een eigen GitHub. Laat bijvoorbeeld zien dat repo's aangemaakt kunnen worden, dat er issues kunnen zijn.
  6. Dit is bijvoorbeeld nuttig voor bedrijven die niet van GitHub afhankelijk willen zijn.
Interessante punten:
  • De -p parameter verbind poort 22 en 3000 binnen in de container met 10022 en 3000 op de host.
  • De -v parameter staat voor volume. De map data binnen de container wordt verbonden aan de C:\gogs-data map op onze pc
  • Bekijk na het inloggen eens het volume. De database (SQLite) is hier opgeslagen: C:\gogs-data\gogs\data
  • Bekijk de Docker Desktop applicatie eens. Hier kun je containers stoppen, verwijderen en ook de volumes verwijderen.
  • Nadat de Gogs image is gedownload staat deze in de cache. Dat scheelt als er slecht/geen internet is tijdens de les. docker pull dus voor de les
Volgende week
 Hands-on met Docker
Theorie: Docker Images
Praktisch: Bouw je eigen Docker Image

Slide 19 - Tekstslide

Deze slide heeft geen instructies