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

(:source:) # mkdir -p /docker/compose/registry # cd /docker/compose/registry (:source lang=yaml:) registry: restart: always image: registry:2 ports: - 5000:5000 volumes: - /docker/apps/registry/data:/var/lib/registry

  • lancer le Registry:

(:source:)docker-compose up -d

  • vérifier qu'il tourne bien, en utilisant l'API v2

(:source:)$ 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

(:source:) # docker tag wheezy localhost:5000/wheezy

  • et mettre l' inage sur le Registry

(:source:) # 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 (:source:) # 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: (:source:)# 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

(:source:)$ curl http://localhost:5000/v2/_catalog | python -mjson.tool { "repositories": [ "registry", "wheezy" ] }

  • lister les tags d'une image (ici wheezy)

(:source:)$ curl http://localhost:5000/v2/wheezy/tags/list | python -mjson.tool { "name": "wheezy", "tags": [ "latest" ] }

Mettre une image dans Registry

  • tagger une image

(:source:) docker tag <image> localhost:5000/mon_image

  • envoyer l'image dans le Registry

(:source:) docker push localhost:5000/mon_image

Récuperer une image du Registry

(:source:) 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