Containers en container images
Podman en Docker commando's
Podman en Docker gebruiken grotendeels dezelfde commando's.
Hieronder een overzicht van de meest gebruikte commando's:
Terminologie
SIGTERM:
Een signaal dat naar een proces wordt gestuurd en vraagt of die kan afsluiten.
SIGKILL:
Een signaal dat een proces onmiddellijk stopt, het proces kan dan niet proper afsluiten. Wordt meestal gedaan als een proces niet reageert op SIGTERM.
Verschil ubi10 en ubi10-init
ubi10:
Bevat alleen de minimale benodigdheden om een container te draaien.
Heeft bv. niet het commando
ps.
Start geen init-proces, dus processen in de container moeten zelf hun signalen afhandelen.
Er is dus geen systemd.
SIGTERM wordt vaak genegeerd.
Goed voor dingen die niet afhankelijk zijn van een init-proces zoals systemd.
ubi10-init:
Bevat een init-proces dat als eerste wordt gestart in de container.
Heeft dus wel systemd.
Het init-proces zorgt ervoor dat signalen zoals SIGTERM correct worden afgehandeld.
Containerfiles
Een Containerfile (ook wel Dockerfile genoemd) is een tekstbestand dat instructies bevat om een container image te bouwen.
Hoe gebruiken
Maak een bestand genaamd
Dockerfileaan.Kan anders heten, maar dan moet je dat meegeven in volgende stappen.
Podman erkent ook de naam
Containerfile.
Schrijf de instructies in het bestand.
Bouw het image met het commando.
Instructies
FROM <image>: Bepaalt het basisimage voor de container.RUN <command>: Voert een commando uit tijdens het bouwen van het image.COPY <source> <destination>: Kopieert bestanden van de host naar de container.CMD ["executable", "param1", "param2"]: Bepaalt het standaardcommando dat wordt uitgevoerd wanneer een container wordt gestart.Behalve wanneer een ander commando wordt opgegeven bij het starten van de container.
ENTRYPOINT ["executable", "param1", "param2"]: Bepaalt het standaardcommando dat altijd wordt uitgevoerd wanneer een container wordt gestart.Extra parameters kunnen worden toegevoegd bij het starten van de container.