‫Bij deze lezing wordt wel vereist dat je weet hoe je een container moet starten.
‫Wat we hier op de opdrachtregel gaan doen, is het uitvoeren van Docker-opdrachten om te
‫begrijpen wat er in een draaiende container gebeurt. Er zijn meerdere manieren waarop we kunnen zien wat daarbinnen gebeurt.
‫We hebben het topcommando behandeld, een proceslijst van wat er in de container gebeurt, maar er zijn
‫nog andere dingen die we kunnen doen. We kunnen de opdracht inspect gebruiken om de details te zien van
‫hoe de container is gestart en hoe deze is geconfigureerd.
‫We kunnen kijken naar het stats-commando dat ons feitelijk een overzicht geeft van al onze containers
‫en de prestatiestatistieken voor elk van hen in een realtime stream.
‫Laten we erin duiken. Om enkele van deze commando's te bekijken en hoe ze werken met
‫containers, moeten we een paar containers starten.
‫De eerste die we gaan starten is een Nginx-container zoals we eerder hebben gedaan.
‫docker container run -d --name, laten we het nginx noemen, en we gaan de Nginx-afbeelding gebruiken.
‫OKE.
‫Dan is de tweede die we zullen gebruiken een andere MySQL-server, dus docker container run -d
‫--name mysql en we zullen ook de omgevingsvariabele moeten specificeren zoals we eerder deden.
‫Dus RANDOM_ROOT_PASSWORD=true En dan de
‫mysql-afbeelding.
‫Merk op dat met de mysql-afbeelding, zoals u kunt lezen op Docker Hub, deze u zal vertellen dat u een van de drie opties
‫voor het wachtwoord moet specificeren.
‫Of je kunt een wachtwoord opgeven in de opdrachtregel, je kunt het geen wachtwoord laten gebruiken, of je kunt doen wat ik
‫hier heb gedaan, waardoor het, bij de eerste keer opstarten, feitelijk een willekeurig wachtwoord maakt zoals we deden in
‫de oefening a een paar minuten geleden.
‫OKE.
‫Als we een docker-container ls
‫doen, zouden we twee actieve containers moeten zien.
‫Geweldig.
‫Dus we hebben eerder Docker Container Top gebruikt.
‫Als ik alleen de mysql specificeer, zul je zien dat het de processen weergeeft die in die
‫container worden uitgevoerd.
‫We kunnen hetzelfde doen, docker container top nginx, en dat geeft een overzicht van de processen die in die
‫container worden uitgevoerd.
‫Een andere manier om te kijken hoe deze container is geconfigureerd toen deze werd gestart en al
‫zijn metadataconfiguratie, we kunnen het inspect-commando gebruiken. dockercontainer inspecteren. Zeg dan gewoon mijn mysql en
‫we krijgen een JSON-array terug met alle gegevens over hoe deze container is gestart.
‫Veel hiervan zal logisch worden tijdens deze cursus.
‫Zoals je kunt zien, zijn het natuurlijk veel gegevens over deze container. Maar hoe interessant deze configuratiegegevens ook zijn,
‫ze vertellen ons niets over de actieve container en wat deze doet.
‫Laten we dus de opdracht docker container stats gebruiken.
‫Als ik je een --help geef, kun je zien dat het ons in staat stelt om daadwerkelijk een container te
‫specificeren om dat alleen te laten zien. Of, als we het gewoon leeg
‫laten en gewoon docker-containerstatistieken typen, krijgen we een streamingweergave van live prestatiegegevens over onze containers terug.
‫Helaas toont het alleen de container-ID, niet de containernaam, maar je kunt aan de CPU-kolom zien
‫dat er om de paar seconden iets verandert.
‫Het is duidelijk dat je in een productieomgeving een meer gecompliceerde monitoring- en prestatie-oplossing zult hebben
‫om al deze dingen te volgen.
‫Het is echt geweldig voor lokale machines waar je ervoor moet zorgen dat je het RAM-geheugen van je
‫machine niet uitput, omdat je misschien een te grote database hebt, of omdat ze de harde schijf niet vullen
‫vanwege een uit de hand gelopen proces.
‫Dit is een snelle opdracht om er zeker van te zijn dat alles binnen zijn geheugenlimieten valt en dat het
‫niet veel netwerken gebruikt, en dat de blok-I/O eigenlijk voor uw schijfprestaties is.
‫Zoals je kunt zien, doen deze containers eigenlijk niets,
‫omdat we ze niets hebben gevraagd. Om hier uit te komen, Control c. Laten we een snelle docker-container ls
‫doen, zodat we de container-ID kunnen matchen met onze opdracht stats.
‫U kunt dus zien dat de mysql-server degene was die bij het opstarten bijna 400MG gebruikte.
‫Om samen te vatten wat we in deze lezing hebben gedaan, hebben we eigenlijk eerst de
‫opdracht docker container top gebruikt om alle processen op te sommen die in een enkele container zullen worden uitgevoerd.
‫Toen kwamen we bij de containerinspectie. In container inspect kunnen
‫we daadwerkelijk zien hoe de container is uitgevoerd, wat ermee is uitgevoerd en
‫wat de omgeving en opties waren toen deze werd gestart. Dan containerstatistieken, wat een soort live-updatemogelijkheid is om alle containers te zien en welke
‫bronnen ze in beslag nemen terwijl ze worden uitgevoerd.