Les 5 - Kennismaking met Containerization

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

This lesson contains 19 slides, with interactive quiz and text slides.

time-iconLesson duration is: 60 min

Items in this lesson

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

Slide 1 - Slide

This item has no instructions

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

Volgende lessen
  • Hands-on met Docker

Slide 2 - Slide

This item has no instructions

Virtualisatie

Slide 3 - Slide

This item has no 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 - Slide

This item has no instructions

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

Slide 5 - Slide

This item has no instructions

Slide 6 - Slide

This item has no instructions

Slide 7 - Slide

This item has no 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 - Slide

This item has no instructions

Software
VirtualBox
QEMU
VMWare
Parallels Desktop

Slide 9 - Slide

This item has no instructions

Containerization

Slide 10 - Slide

This item has no 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 - Slide

This item has no instructions

Slide 12 - Slide

This item has no 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 - 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 - Slide

This item has no instructions

Laravel Sail

Slide 15 - Slide

This item has no instructions

Slide 16 - Slide

This item has no instructions

Slide 17 - Slide

This item has no 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 - Slide

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

This item has no instructions