Skip to main content

Containers beheren

Starten en stoppen van containers

Uiteraard zullen we in het dagelijks beheer van containers deze vaak moeten starten en stoppen. Het spreekt dus voor zich dat deze commando's goed moeten gekend zijn. Oefen onderstaande commando's zeker op je eigen systeem, bij het project zal je deze ongetwijfeld vaak nodig hebben:

# starten van de nginx container
docker run nginx

# starten van de nginx container als daemon (=achtergrondproces)
docker run -d nginx

# toekennen van een naam aan een container
docker run --name mijncontainer nginx

# lijst opvragen van alle containers op het huidige systeem
docker ps -a

Interageren met containers

Initieel kan het wat lastig lijken om te troubleshooten op containers. Als iets fout gaat kan je iets minder terugvallen op de reflexen die je de voorbije jaren aanleerde. Toch hoeft dat geen probleem te zijn, je kan immers ook steeds de motorkap van de container opheffen om problemen te zoeken.

De output volgen

Soms is het genoeg om de output te zien die normaalgezien zichtbaar zou zijn mocht de container een volwaarde machine zijn. Om dat te kunnen doen is er het docker attach commando. Je zal daarmee de standaard output zien die je ook zou zijn mocht je rechtstreeks de stdout, stderr en stdin kunnen zien.

docker attach mijncontainer

Commando's uitvoeren

Met docker exec kan je een commando uitvoeren binnenin je container. Uiteraard moet het dan om een commando gaan dat bestaat in de container. Dat laatste kan een uitdaging zijn op een sterk gestripte basisimage.


# start het ls commando in de container
docker exec mijncontainer ls

# start een interactieve terminal in de container
docker exec -it mijncontainer /bin/bash

de parameters -it zijn daarbij cruciaal om een 'echte' interactieve shell te krijgen op de container.

  • -i: hiermee verkrijg je een interactieve sessie. Je keyboard-aanslagen worden dus naar de container gestuurd.
  • -t: hiermee verkrijg je een pseudo-terminal

Bijhorende Labs