Changements récents - Rechercher:

Espace Wiki ∂'Alembert
Documentation générale


Espace Guide de survie du SysAdmin
Documentation technique


Espace Guide de survie du Développeur
Pour les développeurs


Espace Institut ∂’Alembert
L'institut


Le Site
À propos du Site
Liste complète des Pages


Aide PmWikiFr

Help PmWiki

GSSA /

Docker Registry

Page mise à jour le 20/10/2015 10:20

Vous êtes dans un espace restreint en écriture.

<< Docker Compose | Docker | Docker Compose + Docker Registry >>

Docker Registry est un serveur d'images Docker.

Installation

Le plus simple est de lancer votre Docker Registry dans un conteneur Docker.

Ici il sera sur localhost sur le port 5000

L’authentification, pour le moment, n'est pas activé.

TODO: Registre via un proxy HTTPS avec déclaration dans le DNS

  • création du répertoire pour les données

mkdir -p /docker/apps/registry/data

  • création fichier docker-compose.yml pour compose
# mkdir -p /docker/compose/registry
# cd /docker/compose/registry
registry:
  restart
: always
  image
: registry:2
  ports
:
   - 5000:5000
  volumes
:
   - /docker/apps/registry/data:/var/lib/registry
  • lancer le Registry:
docker-compose up -d
  • vérifier qu'il tourne bien, en utilisant l'API v2
$ curl -i http://localhost:5000/v2/
HTTP/1.1 200 OK
Content-Length: 2
Content-Type: application/json; charset=utf-8
Docker-Distribution-Api-Version: registry/2.0
Date: Thu, 24 Sep 2015 15:43:13 GMT

En cas d’erreur (autre que 200) voir [1]

Utilisation du Registry

ajout d'une image

Cela se passe en 2 temps:

  • tagger une image
# docker tag wheezy localhost:5000/wheezy
  • et mettre l' inage sur le Registry
# docker push localhost:5000/wheezy
The push refers to a repository [localhost:5000/registry] (len: 1)
1e847b14150e: Image successfully pushed
e024fb496e6b: Image already exists
6228a99f9630: Image already exists
76b7062ceb9a: Image already exists
e4aee72fc6c3: Image successfully pushed
a5b8dc690ce7: Image successfully pushed
5c3e6bcaa8b0: Image successfully pushed
91e54dfb1179: Image already exists
d74508fb6632: Image successfully pushed
c22013c84729: Image successfully pushed
d3a1f33e8a5a: Image successfully pushed
2: digest: sha256:fa8c36728c5dc7e9ff8869c31ed21060744808630c0173a926a4668fda24fd6e size: 20579

Après un peu de temps, il rend la main

Récuperation d'une image

Pour etre sure que l'on utilise l'image du Registry, je vais supprimer l'image locale de wheezy

# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
localhost:5000/wheezy latest 1f257bb69251 About an hour ago 226.2 MB
wheezy latest 1f257bb69251 About an hour ago 226.2 MB
# docker rmi -f 1f257bb69251
Untagged: localhost:5000/wheezy:latest
Untagged: wheezy:latest
Deleted: 1f257bb6925123585ec5356f14be1e25d434ea18ff3e19008ee108ba644972fe

Je récupère l'image wheezy depuis le Registry:

# docker pull localhost:5000/wheezy
Using default tag: latest
latest: Pulling from wheezy
1f257bb69251: Pull complete
Digest: sha256:d7a178b2c613e63a1caf16810c948dbb9109f09507c2b47a9864f0289e61a358
Status: Downloaded newer image for localhost:5000/wheezy:latest

HTTP API

L'API HTTP permet de manipuler le Registry.

Nous allons nous contenter de lister les images et leurs tags

  • lister les images du Registry
$ curl http://localhost:5000/v2/_catalog | python -mjson.tool
{
"repositories": [
"registry",
"wheezy"
]
}
  • lister les tags d'une image (ici wheezy)
$ curl http://localhost:5000/v2/wheezy/tags/list | python -mjson.tool
{
"name": "wheezy",
"tags": [
"latest"
]
}

Mettre une image dans Registry

  • tagger une image

docker tag <image> localhost:5000/mon_image
  • envoyer l'image dans le Registry

docker push localhost:5000/mon_image

Récuperer une image du Registry


docker pull localhost:5000/mon_image

Liens Externes

À propos du site Licence Creative Commons Cooked with love in 2014-2023 by pcht
Page mise à jour le 20/10/2015 10:20