Localisation du service de registre Docker

À propos de 【Registry】

  • Le [hub Docker] officiel est un bon endroit pour gérer les miroirs publics. Nous pouvons y trouver les miroirs que nous voulons, ou nous pouvons pousser nos propres miroirs vers le haut. Cependant, parfois, nos scénarios d'utilisation nous obligent à disposer d'un entrepôt de miroirs privé pour gérer nos propres miroirs. Ceci peut être réalisé grâce au registre des logiciels open source.
  • [Registre] Il y a deux codes sur github: l'ancienne base de code et la nouvelle base de code. L'ancien code est écrit en python, et il y a des problèmes de performances avec pull et push. Après la version 0.9.1, il sera marqué comme obsolète (voir plus d'informations = " https://github.com/docker/distribution ), et ne poursuivra pas le développement.
  • Depuis la version 2.0, la nouvelle base de code a été développée dans la nouvelle base de code. La nouvelle base de code est écrite dans le langage Go, et l'algorithme de génération de l'identifiant du miroir et la structure de stockage du miroir sur le registre sont modifiés, ce qui optimise considérablement l'efficacité de la mise en miroir par traction et par poussée. 【Registry2.0】 =》https://hub.docker.com/_/registry/

[Que peut faire le Regisry?

  1. Contrôlez strictement où vos images sont stockées;
  2. Posséder pleinement votre pipeline de distribution d'images;
  3. Intégrez étroitement le stockage et la distribution d'images dans votre flux de travail de développement interne;

Remarque: À propos de l'introduction du site Web officiel de [Registry] =》https://docs.docker.com/registry/

 

Comment déployer le registre?

  • Télécharger l'image de registre depuis [Docker Hub] = "La version par défaut téléchargée à partir du registre Docker Pull est la dernière version de docker.io/registry
  • Exécutez l'image de registre pour générer un conteneur = "docker run -d -v / opt / registry: / var / lib / registry -p 5000: 5000 --restart = always --name Registry Registry: latest [Registry] Le service sera upload par défaut L'image est enregistrée dans le registre / var / lib / du conteneur. Montez le répertoire / opt / registry de l'hôte dans ce répertoire pour enregistrer l'image dans le répertoire / opt / registry de l'hôte.
  • Afficher les conteneurs en cours d'exécution = "docker ps / docker container ls Si vous affichez tout, ajoutez le paramètre -a
  • Si le conteneur de registre est opérationnel, entrez [http: // docker host ip: 5000 / v2 /] dans le navigateur pour afficher, si la sortie = "{}, cela signifie que le registre fonctionne normalement

[Registre de test]

  • Téléchargez l'image dans le registre, nommez d'abord l'image de registre de l'hôte dans un format qui répond aux exigences de l'entrepôt = "[registry_url: port / ImageName: tag]
--1.先标记镜像格式
docker tag nginx:latest localhost:5000/nginx:latest

--2.把标记格式的镜像推送到registy
docker push localhost:5000/nginx:latest

--注:localhost 为本地环境的ip地址;
  • Voir la liste de tous les miroirs locaux 
docker images -a 或 docker image ls -a
  • Extraire l'image du registre local

docker pull localhost:5000/nginx:latest

--注:localhost 为本地环境的ip地址;

À cette étape, il peut y avoir un problème en ce que l'image ne peut pas être poussée vers l'entrepôt privé.

The push refers to a repository [localhost:5000/nginx:latest]
The https://localhsot:5000/v2/: http:server gave HTTP response to HTTPS client

 1. La raison en est que le service de registre démarré localement n'est ni sûr ni digne de confiance;

 2. Solution, modifiez le fichier de configuration du docker client /etc/docker/daemon.json pour ajouter l'adresse du service de registre

{
"registry-mirrors": [ "https://pee6w651.mirror.aliyuncs.com"],"insecure-registries": ["localhost:5000"]
}

--备注:
1.加速镜像设置 =》"registry-mirrors": ["https://pee6w651.mirror.aliyuncs.com"] 是阿里云代理的Registry Hub仓库的地址,可以加快国内访问【Registry Hub】仓库的速度;
2.私有仓库镜像设置 =》"insecure-registries": ["localhost:5000"] 是本地【Registry】服务地址,localhost 为当前 docker 主机ip;

 3. [daemon.json] Chemin de stockage = "cd / etc / docker

 

 4. Afficher / modifier les informations de configuration du fichier daemon.json =》 vi daemon.json

 5. Quittez et enregistrez =》: wq

Après la modification, redémarrez la configuration du service Docker daemon.json pour prendre effet, exécutez la commande =》 systemctl restart docker, appuyez à nouveau pour réussir, vérifiez le répertoire local / opt / registry (ou entrez http: // localhost: 5000 / v2 / dans le navigateur) _catalog)

  • Ou utilisez la commande suivante pour afficher les informations du miroir dans l'entrepôt privé local
  1. curl -XGET http: // registre: 5000 / v2 / _catalog
  2. curl -XGET http: // registre: 5000 / v2 / nom_image / tags / liste

 

[Pièce jointe: Adresse d'accélération du miroir]

  • Accélérateur d'image cloud Alibaba =》 https://help.aliyun.com/document_detail/60750.html
  • Accélérateur NetEase Cloud Mirror =》 https://hub-mirror.c.163.com
  • Accélérateur officiel de miroir chinois =》 https://regisry.docker-cn.com
  • Accélérateur de miroir de l'Université des sciences et de la technologie =》 https://docker.mirrors.ustc.edu.cn
  • Accélérateur de miroir Tsinghua =》 https://mirrors.tuna.tsinghua.edu.cn

Les étapes ci-dessus ont permis de réaliser le processus de déploiement du registre localement.Amis intéressés, dépêchez-vous et suivez le petit professeur pour l'implémenter étape par étape! 

Je suppose que tu aimes

Origine blog.csdn.net/ChaITSimpleLove/article/details/105281751
conseillé
Classement