Skip to content

Docker Commando's Spiegbriefje

Docker is een open-source applicatie-containermotor waarmee ontwikkelaars hun applicaties en afhankelijkheden kunnen verpakken in een draagbare image, die vervolgens kan worden vrijgegeven op elke populaire Linux- of Windows-machine, en virtualisatie kan ook worden bereikt. Containers gebruiken volledig een sandbox-mechanisme en hebben geen interfaces tussen elkaar.

Algemeen Gebruik

Start een container in de achtergrond

docker run -d jenkins

Start een interactieve container

docker run -it ubuntu bash

Start een container die automatisch wordt verwijderd wanneer deze stopt

docker run --rm ubuntu bash 

Start een container met poort-mapping

docker run -p 80:80 -d nginx 

Start een benoemde container

docker run --name mydb redis 

Start een gestopte container

docker start mydb 

Stop een container

docker stop mydb

Start een container en voeg metadata toe

docker run -d \ label=traefik.backend=jenkins jenkins

Images Bouwen (Build Images)

Bouw een image van een Dockerfile in de huidige directory

docker build --tag myimage . 

Forceer de herbouw van een image

docker build --no-cache . 

Leg de wijzigingen van een container vast in een image (Commit)

docker commit c7337 myimage 

Verwijder alle ongebruikte images

docker rmi $(docker images -q -f "dangling=true")

Debuggen (Debug)

Inloggen op een draaiende container

docker exec -it c7337 docker

Toon activiteitslogboeken van een draaiende daemon-container

docker logs -f c7337

Toon de blootgestelde poorten van een container

docker port c7337

Volumes

Maak een lokaal volume aan

docker volume create --name myvol 

Koppel een volume wanneer een container start (Mounten)

docker run -v myvol:/data redis

Vernietig een volume

docker volume rm myvol 

Lijst alle volumes op

docker volume ls

Maak een lokaal netwerk aan

docker network create mynet 

Verbind een container met een netwerk bij het opstarten

docker run -d --net mynet redis

Verbind een container met een specifiek netwerk

docker network connect mynet c7337 

Verbreek de verbinding tussen een container en een netwerk

docker network disconnect mynet c7337

Containerbeheer

Lijst draaiende containers op

docker ps

Lijst alle containers op (inclusief draaiende en gestopte)

docker ps -a

Inspecteer container-metadata

docker inspect c7337

Lijst alle lokaal beschikbare images op

docker images

Verwijder alle gestopte containers

docker rm $(docker ps --filter status=exited -q) 

Lijst alle containers op met een specifiek label

docker ps --filter label=traefik.backend

Een draaiende container opvragen met specifieke metadata

docker inspect -f '{{ .NetworkSettings.IPAddress }}' c7337

Beschrijving

Image Naam

redis, jenkins, nginx

Containernaam of Commit-ID

mydb  # containernaam 
c7337 # commit-ID