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-worldimage 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 dockeropdracht met de searchsubopdracht 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 pullsubopdracht naar je computer/server downloaden.

Voer de volgende opdracht uit om de officiële ubuntuafbeelding 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 runsubcommando. Zoals je bij het hello-worldvoorbeeld hebt gezien, zal de Docker-client eerst de image downloaden en vervolgens een container gebruiken als er geen image is gedownload wanneer deze dockerwordt uitgevoerd met het runsubcommando.

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.