Docker commando’s – The Ultimate Cheat Sheet
Mocht je het nog niet weten, Docker is een open source platform voor het ontwikkelen van gedistribueerde software middels “containerisatie”, waarbij applicaties tezamen met hun omgeving worden gebundeld zodat deze beter verplaatsbaar zijn en gemakkelijker kunnen worden uitgerold.
Docker is een ongelooflijk populaire technologie geworden voor softwareontwikkelingsteams dankzij zijn prestaties en productiviteit. Ondanks de geweldige mogelijkheden is het voor nieuwe gebruikers soms lastig om het ecosysteem van Docker te betreden, verkennen en te leren.
Met de juiste leertools is het een stuk eenvoudiger om met Docker aan de slag te gaan. Deze blog is een verzameling van best practices en must-know commando’s die handig zijn voor elke gebruiker.
Docker Commando’s en Best Practices
Hieronder tref je een overzicht van de woordenlijst die je moet weten, voordat we dieper ingaan op de best-practices van Docker:
- Layer: een reeks van alleen-lezen bestanden of commando’s die het opzetten van het achterliggende systeem in de container toelichten. Layers worden over elkaar opgebouwd, waarbij iedere layer (laag) een verandering in het bestandssysteem aangeeft.
- Image: een onveranderbare layer (laag) dat de basis van de container vormt.
- Container: een instance van de image dat als onafhankelijke applicatie kan worden uitgevoerd. De container heeft een verwisselbare layer die bovenop de image ligt en die gescheiden is van de onderliggende layers.
- Registry: een opslag- en content delivery systeem dat wordt gebruikt voor het distribueren van Docker-images.
- Repository: een serie gerelateerde Docker-images, vaak verschillende versies van eenzelfde applicatie.
Ontwikkelen van applicaties met Docker
Met bovenstaande opfrisser in gedachten, volgen hier enkele tips voor het ontwikkelen van applicaties met Docker:
- Houd je images zo klein mogelijk. Hierdoor zijn containers gemakkelijker te verplaatsen en sneller te laden. Voeg geen libraries en afhankelijkheden toe, tenzij het een absolute vereiste is om de applicatie uit te voeren.
- Indien je applicatie schaalbaar moet zijn, overweeg dan het gebruik van Docker Swarm, een tool om een cluster van nodes te beheren als één virtueel systeem.
- Gebruik Docker voor maximale efficiëntie in combinatie met CI/CD tools. Het is bijvoorbeeld mogelijk om met Docker Cloud automatisch images uit de broncode op te zetten en vervolgens naar een Docker-repo te pushen.
Docker commando’s
Hieronder staan basiscommando’s van Docker die nodig zijn om met containers te kunnen werken:
1. Developen met Docker
- Maak een nieuwe container van een bepaalde image.
Docker create image
- Log in op de Docker Hub-repository
docker login
- Pull een image uit de Docker Hub-repository
docker pull [image]
- Push een image naar de Docker Hub repository.
docker push [username/image]
- Zoek in de Docker Hub-repository naar een specifieke functie.
docker search [term]
- Creëer een tag of alias die refereert naar een image.
docker tag [source] [target]
2. Running Docker
- Start een bepaalde container.
docker start [container]
- Stop een bepaalde container
docker stop [container]
- Voer een shell commando uit in een bepaalde container.
docker exec -ti [container] [command]
- Voer een shell commando uit in een bepaalde container.
docker exec -ti [container] [command]
- Creëer en start een container tegelijkertijd, voer vervolgens een commando uit binnenin de container.
docker run -ti — image [image] [container] [command]
- Creëer en start een container tegelijkertijd, voer vervolgens een commando uit binnenin de container en verwijder dan de container na het uitvoeren van het commando.
docker run -ti — rm — image [image] [container] [command]
- Pauzeer alle processen die plaatsvinden binnen een bepaalde container.
docker pause [container]
3. Gebruik maken van Docker Utilities
- Toon de geschiedenis van een bepaalde image
docker history [image]
- Bekijk alle images die op dit moment zijn opgeslagen.
docker stop [container]
- Toon low-level gegevens over een bepaald Docker-object.
docker inspect [object]
- Vermeld alle containers die in gebruik zijn
docker ps[image] [container] [command]
- Toont de geïnstalleerde versie van Docker
docker version
4. Opschonen van Docker
- Schakel een bepaalde container uit.
docker kill [container]
- Schakel alle actieve containers uit.
docker kill $(docker ps -q)
- Verwijder een bepaalde container die op dit moment niet draait.
docker rm [container]
- Verwijder alle containers die op dit moment niet in draaien.
docker rm $(docker ps -a -q)
Contact
Axxius biedt Cloud, DevOps en Data engineers aan snelgroeiende bedrijven die op zoek zijn naar deskundige ondersteuning op het gebied van microdiensten, containers, cloudinfrastructuur en CI/CD-implementaties. Kies voor de managed container services van Axxius en geniet van de vele voordelen van een container platform.
Axxius biedt bovendien volledige ondersteuning op het gebied van beheer en monitoring (infrastructuur, platformen en applicaties). Daarnaast regelen en verzorgen wij de integratie met andere services. Neem contact met ons op en een van onze medewerkers zal u verder helpen.