Maison > Article > Opération et maintenance > Que se passe-t-il si l'image du menu fixe disparaît ?
Avec le développement ultérieur de DevOps et la popularité des applications cloud natives, Docker est devenu l'un des outils standards pour le développement, le déploiement, l'exploitation et la maintenance. Docker est un outil qui exploite directement les conteneurs, et les conteneurs fournissent une méthode de virtualisation légère qui peut regrouper le code, l'environnement et les dépendances dans un environnement d'exécution indépendant, et les transplanter et les déployer rapidement sur différents nœuds pour maximiser. Il améliore considérablement la portabilité et l'évolutivité des applications. , rendant l'exploitation et la maintenance plus pratiques et efficaces.
Cependant, dans l'utilisation réelle de Docker, vous rencontrez parfois des problèmes étranges, comme l'image manquante. Ce problème est généralement dû à la suppression d'une image sur Docker Hub ou au registre où elle se trouve inaccessible, provoquant une erreur de Docker pendant le processus d'extraction de l'image, affectant ainsi la stabilité et la fiabilité de l'ensemble de l'application.
Alors, comment résoudre ce problème ? De manière générale, il existe deux solutions : l'une consiste à utiliser d'autres sources d'images, telles qu'Alibaba Cloud, Tencent Cloud, etc. ; l'autre consiste à créer Docker Registry localement et à enregistrer les images requises localement, sans compter ainsi sur des sources externes. La source miroir améliore la fiabilité et la stabilité de l’application.
Utilisez d'autres sources d'images
Prenons l'exemple d'Alibaba Cloud. Nous devons d'abord créer un compte sur le service d'image de conteneur d'Alibaba Cloud et activer le service. Sélectionnez "Image Accelerator" sur la console et vous obtiendrez une URL. Cette URL est l'adresse de l'accélérateur d'image Docker fournie par Alibaba Cloud.
Copiez cette adresse dans le fichier /etc/docker/daemon.json
et redémarrez le service Docker. Par exemple : /etc/docker/daemon.json
文件中,并重启 Docker 服务即可。例如:
{ "registry-mirrors": ["https://xxxxxxxx.mirror.aliyuncs.com"] }
之后使用 Docker 命令拉取镜像时,就可以在命令后加上 --registry-mirror
参数指定使用阿里云镜像加速器,例如:
docker pull --registry-mirror=https://xxxxxxxx.mirror.aliyuncs.com library/nginx
通过本地搭建 Docker Registry
使用阿里云、腾讯云等国内的 Docker Hub 镜像源,虽然可以帮助解决镜像不见的问题,但是这些公司的运营模式一般都是按量收费,对于一些资源需要非常频繁地使用的业务,可能也会面临较高的成本压力。而且,现在国家也开始要求在中国境内存储、传输一些重要数据,因此在某些时刻,国外 registry 端口不通也可能成为一个瓶颈。
本地搭建 Docker Registry 就可以解决这些问题。我们只需要在一台 Linux 服务器上搭建一个 Docker Registry,并将需要的镜像 push 到这个 Registry 上即可。具体步骤如下:
在本地服务器上使用以下命令拉取 Docker Registry 镜像:
docker pull registry
使用如下命令启动 Docker Registry 容器:
docker run -d -p 5000:5000 --restart=always --name registry registry:latest
默认情况下,Registry 会监听在本地 5000 端口上,而且会使用本地文件系统作为镜像储存库。
在本地电脑上使用以下命令将一个本地的 Dcoker 镜像推送到 Registry:
docker tag <local_image_name> <registry_url>/<remote_image_name> docker push <registry_url>/<remote_image_name>
其中 <local_image_name>
是本地的 Docker 镜像名称,<registry_url>
是我们本地服务器的 IP 地址和 5000 端口号拼接而成的地址,<remote_image_name>
docker pull <registry_url>/<remote_image_name>Lorsque vous utilisez la commande Docker pour extraire l'image ultérieurement, vous pouvez ajouter le paramètre
--registry-mirror
après la commande pour spécifier l'utilisation d'Alibaba Cloud Image Accelerator, par exemple. exemple : <local_image_name>
est nom de l'image Docker locale, <registry_url>
est l'adresse IP de notre serveur local et le numéro de port 5000 <remote_image_name>
est l'image transmise au nom du registre. . 🎜🎜🎜Extraire l'image🎜🎜🎜Utilisez la commande suivante pour extraire l'image du registre : 🎜rrreee🎜En créant le registre Docker localement, nous pouvons rapidement enregistrer et récupérer les images requises, et mieux contrôler le déploiement et le fonctionnement du Image Docker. De plus, le registre Docker construit localement peut prendre en charge des fonctions plus avancées, telles que la gestion des images, le contrôle des autorisations de compte, la modélisation d'entrepôt d'images, le partage d'images, etc. Ces fonctions peuvent optimiser davantage notre processus d'exploitation et de maintenance Docker et améliorer nos performances en matière de compétitivité DevOps. . 🎜🎜En bref, le problème des images manquantes est un problème courant et gênant lors du fonctionnement de Docker. Cependant, grâce à des accélérateurs d'images Docker fiables tels qu'Alibaba Cloud ou en créant localement Docker Registry, nous pouvons bien résoudre ce problème et améliorer encore l'application. la fiabilité et la stabilité du programme accélèrent la vitesse de construction et de déploiement, et améliorent l'efficacité du DevOps. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!