Les 5 - Kennismaking met Containerization

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

Cette leçon contient 19 diapositives, avec quiz interactif et diapositives de texte.

time-iconLa durée de la leçon est: 60 min

Éléments de cette leçon

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

Slide 1 - Diapositive

Cet élément n'a pas d'instructions

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

Volgende lessen
  • Hands-on met Docker

Slide 2 - Diapositive

Cet élément n'a pas d'instructions

Virtualisatie

Slide 3 - Diapositive

Cet élément n'a pas d'instructions

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 - Diapositive

Cet élément n'a pas d'instructions

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

Slide 5 - Diapositive

Cet élément n'a pas d'instructions

Slide 6 - Diapositive

Cet élément n'a pas d'instructions

Slide 7 - Diapositive

Cet élément n'a pas d'instructions

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 - Diapositive

Cet élément n'a pas d'instructions

Software
VirtualBox
QEMU
VMWare
Parallels Desktop

Slide 9 - Diapositive

Cet élément n'a pas d'instructions

Containerization

Slide 10 - Diapositive

Cet élément n'a pas d'instructions

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 - Diapositive

Cet élément n'a pas d'instructions

Slide 12 - Diapositive

Cet élément n'a pas d'instructions

"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 - Sondage

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 - Diapositive

Cet élément n'a pas d'instructions

Laravel Sail

Slide 15 - Diapositive

Cet élément n'a pas d'instructions

Slide 16 - Diapositive

Cet élément n'a pas d'instructions

Slide 17 - Diapositive

Cet élément n'a pas d'instructions

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 - Diapositive

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 - Diapositive

Cet élément n'a pas d'instructions