## Werken met Docker images

Docker-containers worden gemaakt op basis van Docker-installatiekopieën. Docker haalt deze images standaard uit Docker Hub, een Docker-registry beheerd door Docker, het bedrijf achter het Docker-project. Iedereen kan zijn Docker-images hosten op Docker Hub, dus voor de meeste applicaties en Linux-distributies die je nodig hebt, worden daar images gehost.

Om te controleren of je images kunt openen en downloaden van Docker Hub, typ je:

    docker run hello-world

De uitvoer geeft aan dat Docker correct werkt:

`Output`

`Unable to find image 'hello-world:latest' locally`

`latest: Pulling from library/hello-world`

`0e03bdcc26d7: Pull complete`

`Digest: sha256:6a65f928fb91fcfbc963f7aa6d57c8eeb426ad9a20c7ee045538ef34847f44f1`

`Status: Downloaded newer image for hello-world:latest`

`Hello from Docker!`

`This message shows that your installation appears to be working correctly.`

`...`

Docker kon de `hello-world`image aanvankelijk niet lokaal vinden, dus het heeft de image gedownload van Docker Hub, de standaardrepository. Nadat de image is gedownload, creëert Docker een container van de image en werd de toepassing in de container uitgevoerd, waarbij het bericht werd weergegeven.

Je kunt zoeken naar images die beschikbaar zijn op Docker Hub door de `docker`opdracht met de `search`subopdracht te gebruiken. Om bijvoorbeeld naar de Ubuntu-image te zoeken, typ je:

    docker search ubuntu

Het script crawlt Docker Hub en retourneert een lijst met alle images waarvan de naam overeenkomt met de zoekreeks.

In de OFFICIAL kolom geeft OK een image aan die is gebouwd en ondersteund door het bedrijf achter het project. Als je eenmaal de image hebt geïdentificeerd die je wilt gebruiken, kun je deze met de `pull`subopdracht naar je computer/server downloaden.

Voer de volgende opdracht uit om de officiële `ubuntu`afbeelding naar je computer/server te downloaden :

    docker pull ubuntu

Je ziet de volgende output:

`Output`

`Using default tag: latest`

`latest: Pulling from library/ubuntu`

`d51af753c3d3: Pull complete`

`fc878cd0a91c: Pull complete`

`6154df8ff988: Pull complete`

`fee5db0ff82f: Pull complete`

`Digest: sha256:747d2dbbaaee995098c9792d99bd333c6783ce56150d1b11e333bbceed5c54d7`

`Status: Downloaded newer image for ubuntu:latest`

`docker.io/library/ubuntu:latest`

Nadat een image is gedownload, kun je een container uitvoeren met behulp van de gedownloade image met het `run`subcommando. Zoals je bij het `hello-world`voorbeeld hebt gezien, zal de Docker-client eerst de image downloaden en vervolgens een container gebruiken als er geen image is gedownload wanneer deze `docker`wordt uitgevoerd met het `run`subcommando.

Om de images te zien die naar je computer/server zijn gedownload, typ je:

    docker images

De uitvoer ziet er uit met de inhoud van alle images die lokaal staan op je computer/server:

Laten we eens kijken hoe je containers in meer detail kunt uitvoeren.