6.7. Travailler avec des flux d'images

Les sections suivantes décrivent comment utiliser les flux d'images et les balises de flux d'images.

6.7.1. Obtenir des informations sur les flux d'images

Vous pouvez obtenir des informations générales sur le flux d'images et des informations détaillées sur toutes les balises vers lesquelles il pointe.

Procédure

  • Obtenir des informations générales sur le flux d'images et des informations détaillées sur toutes les balises vers lesquelles il pointe :

    $ oc describe is/<image-nom>

    Par exemple :

    $ oc describe is/python

    Exemple de sortie

    Name:			python
    Namespace:		default
    Created:		About a minute ago
    Labels:			<none>
    Annotations:		openshift.io/image.dockerRepositoryCheck=2017-10-02T17:05:11Z
    Docker Pull Spec:	docker-registry.default.svc:5000/default/python
    Image Lookup:		local=false
    Unique Images:		1
    Tags:			1
    
    3.5
      tagged from centos/python-35-centos7
    
      * centos/python-35-centos7@sha256:49c18358df82f4577386404991c51a9559f243e0b1bdc366df25
          About a minute ago

  • Obtenir toutes les informations disponibles sur une étiquette de flux d'images particulière :

    $ oc describe istag/<image-stream>:<tag-name>

    Par exemple :

    $ oc describe istag/python:latest

    Exemple de sortie

    Image Name:	sha256:49c18358df82f4577386404991c51a9559f243e0b1bdc366df25
    Docker Image:	centos/python-35-centos7@sha256:49c18358df82f4577386404991c51a9559f243e0b1bdc366df25
    Name:		sha256:49c18358df82f4577386404991c51a9559f243e0b1bdc366df25
    Created:	2 minutes ago
    Image Size:	251.2 MB (first layer 2.898 MB, last binary layer 72.26 MB)
    Image Created:	2 weeks ago
    Author:		<none>
    Arch:		amd64
    Entrypoint:	container-entrypoint
    Command:	/bin/sh -c $STI_SCRIPTS_PATH/usage
    Working Dir:	/opt/app-root/src
    User:		1001
    Exposes Ports:	8080/tcp
    Docker Labels:	build-date=20170801

Note

Le nombre d'informations émises est supérieur au nombre d'informations affichées.

6.7.2. Ajout de balises à un flux d'images

Vous pouvez ajouter des balises supplémentaires aux flux d'images.

Procédure

  • Ajouter une balise qui pointe vers l'une des balises existantes en utilisant la commande `oc tag` :

    $ oc tag <image-name:tag1> <image-name:tag2>

    Par exemple :

    $ oc tag python:3.5 python:latest

    Exemple de sortie

    Tag python:latest set to python@sha256:49c18358df82f4577386404991c51a9559f243e0b1bdc366df25.

  • Confirmez que le flux d'images comporte deux balises, l'une, 3.5, pointant vers l'image du conteneur externe et une autre, latest, pointant vers la même image parce qu'elle a été créée sur la base de la première balise.

    $ oc describe is/python

    Exemple de sortie

    Name:			python
    Namespace:		default
    Created:		5 minutes ago
    Labels:			<none>
    Annotations:		openshift.io/image.dockerRepositoryCheck=2017-10-02T17:05:11Z
    Docker Pull Spec:	docker-registry.default.svc:5000/default/python
    Image Lookup:		local=false
    Unique Images:		1
    Tags:			2
    
    latest
      tagged from python@sha256:49c18358df82f4577386404991c51a9559f243e0b1bdc366df25
    
      * centos/python-35-centos7@sha256:49c18358df82f4577386404991c51a9559f243e0b1bdc366df25
          About a minute ago
    
    3.5
      tagged from centos/python-35-centos7
    
      * centos/python-35-centos7@sha256:49c18358df82f4577386404991c51a9559f243e0b1bdc366df25
          5 minutes ago

6.7.3. Ajout de balises pour une image externe

Vous pouvez ajouter des balises pour les images externes.

Procédure

  • Ajouter des balises pointant vers des images internes ou externes, en utilisant la commande oc tag pour toutes les opérations liées aux balises :

    $ oc tag <repository/image> <image-name:tag>

    Par exemple, cette commande associe l'image docker.io/python:3.6.0 à la balise 3.6 dans le flux d'images python.

    $ oc tag docker.io/python:3.6.0 python:3.6

    Exemple de sortie

    Tag python:3.6 set to docker.io/python:3.6.0.

    Si l'image externe est sécurisée, vous devez créer un secret avec des informations d'identification pour accéder à ce registre.

6.7.4. Mise à jour des balises de flux d'images

Vous pouvez mettre à jour une balise pour refléter une autre balise dans un flux d'images.

Procédure

  • Mettre à jour une balise :

    $ oc tag <image-name:tag> <image-name:latest>

    Par exemple, le texte suivant met à jour la balise latest pour refléter la balise 3.6 dans un flux d'images :

    $ oc tag python:3.6 python:latest

    Exemple de sortie

    Tag python:latest set to python@sha256:438208801c4806548460b27bd1fbcb7bb188273d13871ab43f.

6.7.5. Suppression des balises de flux d'images

Vous pouvez supprimer les anciennes étiquettes d'un flux d'images.

Procédure

  • Supprime les anciennes étiquettes d'un flux d'images :

    oc tag -d <image-name:tag> $ oc tag -d <image-name:tag>

    Par exemple :

    $ oc tag -d python:3.5

    Exemple de sortie

    Deleted tag default/python:3.5.

Voir Suppression des balises de flux d'images obsolètes de Cl uster Samples Operator pour plus d'informations sur la façon dont Cluster Samples Operator gère les balises de flux d'images obsolètes.

6.7.6. Configuration de l'importation périodique de balises de flux d'images

Lorsque vous travaillez avec un registre externe d'images de conteneurs, pour réimporter périodiquement une image, par exemple pour obtenir les dernières mises à jour de sécurité, vous pouvez utiliser le drapeau --scheduled.

Procédure

  1. Planifier l'importation d'images :

    $ oc tag <repository/image> <image-name:tag> --scheduled

    Par exemple :

    $ oc tag docker.io/python:3.6.0 python:3.6 --scheduled

    Exemple de sortie

    Tag python:3.6 set to import docker.io/python:3.6.0 periodically.

    Cette commande permet à OpenShift Container Platform de mettre à jour périodiquement cette balise de flux d'images. Cette période est un paramètre à l'échelle du cluster, fixé par défaut à 15 minutes.

  2. Supprimez la vérification périodique, exécutez à nouveau la commande ci-dessus mais omettez le drapeau --scheduled. Cela rétablira le comportement par défaut.

    $ oc tag <repositiory/image> <image-name:tag>