Découvrez comment utiliser les commandes docker login, docker pull et docker push avec les instances Container Registry (ACR) Enterprise Edition.
Prérequis
Docker est installé. Installation et utilisation de Docker et Docker Compose.
Une instance Container Registry Enterprise Edition est créée. Création d'une instance Enterprise Edition.
docker login
L'exemple suivant montre comment se connecter à une instance Enterprise Edition dans la région Chine (Hangzhou).
-
Exécutez la commande de connexion en indiquant le nom de domaine de votre instance Enterprise Edition. Saisissez votre nom d'utilisateur et votre mot de passe lorsque vous y êtes invité.
RemarqueLe nom de domaine de l'instance Enterprise Edition suit le format
<instance-name>-registry.cn-hangzhou.cr.aliyuncs.com. Pour retrouver ce nom de domaine, connectez-vous à la console Container Registry et accédez à la page Access Control.Le mot de passe de connexion diffère de celui de votre compte Alibaba Cloud. Configuration des identifiants d'accès.
En cas de succès, le message
Login Succeededs'affiche.docker login <instance-name>-registry.cn-hangzhou.cr.aliyuncs.com Username: ****@test.com Password: Login Succeeded -
Vérifiez vos identifiants de connexion dans le fichier config.json.
Exécutez la commande suivante :
cat ~/.docker/config.jsonRésultat attendu :
{ "auths": { "<instance-name>-registry.cn-hangzhou.cr.aliyuncs.com": { "auth": "****" } } }
docker pull
L'exemple suivant télécharge l'image <instance-name>-registry.cn-hangzhou.cr.aliyuncs.com/acs/agent:0.8.
Exécutez la commande suivante :
docker pull <instance-name>-registry.cn-hangzhou.cr.aliyuncs.com/acs/agent:0.8
Résultat attendu :
0.8: Pulling from acs/agent
5a026b6c4964: Already exists
e4b621e8d9cb: Already exists
8bc2fd04bdd4: Pull complete
a977b0087b3e: Pull complete
8f6e00ea13c6: Pull complete
875dd8c9666f: Pull complete
9c07bcabc35d: Pull complete
Digest: sha256:cac848bd31bccf2a041bda7b57e3051341093abde6859df9ee9d332dfec6ddd9
Status: Downloaded newer image for <instance-name>-registry.cn-hangzhou.cr.aliyuncs.com/acs/agent:0.8
Le domaine de connexion doit correspondre au domaine du registre d'images. Si vous êtes connecté à
<instance-name>-registry.cn-hangzhou.cr.aliyuncs.com, toute tentative de téléchargement ou d'envoi vers<instance-name>-registry.cn-beijing.cr.aliyuncs.comrenverra une erreur d'autorisation.
Exécutez la commande docker images pour lister les images téléchargées. Notez le nom du dépôt et le tag.
docker images
Résultat attendu :
REPOSITORY TAG IMAGE ID CREATED SIZE
<instance-name>-registry.cn-hangzhou.cr.aliyuncs.com/acs/agent 0.8 b9ba5841bdb0 24 hours ago 42.18 MB
docker push
Envoyez les images construites localement vers votre instance Enterprise Edition.
Vous devez disposer des permissions requises sur le dépôt. À défaut, l'envoi échouera avec une erreur d'authentification.
Exécutez la commande suivante :
docker push <instance-name>-registry.cn-hangzhou.cr.aliyuncs.com/acs/agent:0.8
Le résultat suivant indique un échec de l'envoi dû à une erreur d'authentification :
The push refers to a repository [<instance-name>-registry.cn-hangzhou.cr.aliyuncs.com/acs/agent:0.8]
359f80267111: Layer already exists
7e5fa28d90b8: Layer already exists
b20d7f600f63: Layer already exists
4a159b4f8370: Layer already exists
7c3712ebe877: Layer already exists
d91d130a53aa: Layer already exists
fcad8ad5a40f: Layer already exists
unauthorized: authentication required
Connexion en tant qu'utilisateur RAM
En tant qu'utilisateur RAM, connectez-vous à la console Container Registry et accédez à la page Access Credentials pour définir un mot de passe de connexion.
-
Utilisez le nom d'utilisateur au format
[RAM username]@[enterprise alias]pour vous connecter.Définissez ou consultez l'alias d'entreprise dans la console RAM. Si aucun alias n'est défini, l'UID du compte Alibaba Cloud est utilisé par défaut.
Par exemple, si le nom d'utilisateur RAM est
subaccountet que l'alias d'entreprise estaccount-alias:docker login <instance-name>-registry.cn-hangzhou.cr.aliyuncs.com Username: subaccount@account-alias Password: Login Succeeded