Maison Opération et maintenance exploitation et maintenance Linux Comment créer un entrepôt d'images Docker sûr et fiable sur un serveur Linux ?

Comment créer un entrepôt d'images Docker sûr et fiable sur un serveur Linux ?

Jul 28, 2023 pm 08:16 PM
linux docker 镜像仓库

Comment créer un entrepôt d'images Docker sûr et fiable sur un serveur Linux ?

Avec le développement rapide de la technologie des conteneurs, Docker est devenu un outil courant pour créer et gérer des applications conteneurisées. Cependant, dans les applications pratiques, la manière d’établir un entrepôt d’images Docker sûr et fiable est une question importante. Cet article explique comment établir un entrepôt d'images Docker sûr et fiable sur un serveur Linux et fournit des exemples de code à titre de référence.

  1. Installer Docker

Tout d'abord, vous devez installer Docker sur le serveur Linux. Il peut être installé via la commande suivante :

$ sudo apt-get update
$ sudo apt-get install docker-ce
Copier après la connexion

Une fois l'installation terminée, exécutez la commande suivante pour vérifier si l'installation a réussi :

$ docker version
Copier après la connexion
  1. Configurez l'entrepôt d'images Docker

Ensuite, vous devez configurer le Docker entrepôt d'images. Vous pouvez choisir d'utiliser l'image de registre officielle de Docker ou des images open source tierces, telles que Harbor, Nexus, etc.

En prenant l'image officielle du registre Docker comme exemple, vous pouvez démarrer un conteneur de registre via la commande suivante :

$ docker run -d -p 5000:5000 --name registry registry:latest
Copier après la connexion

Une fois le démarrage terminé, vous pouvez vérifier si le registre fonctionne correctement via la commande suivante :

$ curl http://localhost:5000/v2/_catalog
Copier après la connexion

Si un un tableau vide est renvoyé [] , indiquant que le registre a été exécuté avec succès. [],说明Registry已经成功运行。

  1. 配置镜像仓库的认证和授权

为了保证镜像仓库的安全,需要添加认证和授权功能。可以使用Nginx作为反向代理服务器,并使用Basic Auth认证方式。

首先,安装Nginx:

$ sudo apt-get install nginx
Copier après la connexion

然后,创建一个用于存放认证信息的密码文件:

$ sudo sh -c "echo -n 'admin:' >> /etc/nginx/.htpasswd"
$ sudo sh -c "openssl passwd -apr1 >> /etc/nginx/.htpasswd"
Copier après la connexion

创建完成后,需要编辑Nginx配置文件/etc/nginx/sites-available/default,添加如下内容:

server {
    listen 80;
    server_name <your-domain-name>;

    location / {
        proxy_pass http://localhost:5000;

        auth_basic "Restricted";
        auth_basic_user_file /etc/nginx/.htpasswd;
    }
}
Copier après la connexion

替换<your-domain-name>为你的域名。

保存配置文件并重启Nginx:

$ sudo systemctl restart nginx
Copier après la connexion
Copier après la connexion
  1. 配置HTTPS支持

为了保证通信的安全性,可以使用HTTPS协议进行通信。需要先为镜像仓库生成自签名证书。

首先,安装OpenSSL:

$ sudo apt-get install openssl
Copier après la connexion

然后,生成私钥和自签名证书:

$ sudo openssl req -newkey rsa:2048 -nodes -keyout registry.key -x509 -days 365 -out registry.crt
Copier après la connexion

生成的registry.key为私钥文件,registry.crt为自签名证书文件。

接下来,编辑Nginx配置文件/etc/nginx/sites-available/default,添加如下内容:

server {
    listen 443 ssl;
    server_name <your-domain-name>;

    ssl_certificate /path/to/registry.crt;
    ssl_certificate_key /path/to/registry.key;

    location / {
        proxy_pass http://localhost:5000;

        auth_basic "Restricted";
        auth_basic_user_file /etc/nginx/.htpasswd;
    }
}
Copier après la connexion

替换<your-domain-name>

    Configurer l'authentification et l'autorisation de l'entrepôt d'images

      Afin d'assurer la sécurité de l'entrepôt d'images, des fonctions d'authentification et d'autorisation doivent être ajoutées. Vous pouvez utiliser Nginx comme serveur proxy inverse et utiliser la méthode d'authentification Basic Auth.
    1. Tout d'abord, installez Nginx :
    $ sudo systemctl restart nginx
    Copier après la connexion
    Copier après la connexion

    Ensuite, créez un fichier de mot de passe pour stocker les informations d'authentification :

    $ sudo vi /etc/docker/daemon.json
    Copier après la connexion

    Après la création, vous devez modifier le fichier de configuration Nginx /etc/nginx/sites-available/default</ code>, ajoutez ce qui suit : </p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>{ &quot;insecure-registries&quot;: [&quot;&lt;your-domain-name&gt;:5000&quot;] }</pre><div class="contentsignin">Copier après la connexion</div></div><p>Remplacez <code><votre-nom-de-domaine> par votre nom de domaine.

    Enregistrez le fichier de configuration et redémarrez Nginx :

    $ sudo systemctl restart docker
    Copier après la connexion

      Configurez le support HTTPS

      🎜🎜Afin d'assurer la sécurité de la communication, vous pouvez utiliser le protocole HTTPS pour la communication. Vous devez d'abord générer un certificat auto-signé pour l'entrepôt d'images. 🎜🎜Tout d'abord, installez OpenSSL : 🎜
      $ docker tag image <your-domain-name>:5000/image
      $ docker push <your-domain-name>:5000/image
      $ docker pull <your-domain-name>:5000/image
      Copier après la connexion
      🎜Ensuite, générez la clé privée et le certificat auto-signé : 🎜rrreee🎜Le registry.key généré est le fichier de clé privée, registry.crt Il s'agit d'un fichier de certificat auto-signé. 🎜🎜Ensuite, éditez le fichier de configuration Nginx <code>/etc/nginx/sites-available/default et ajoutez le contenu suivant : 🎜rrreee🎜Remplacez <votre-nom-de-domaine> pour votre nom de domaine. 🎜🎜Enregistrez le fichier de configuration et redémarrez Nginx : 🎜rrreee🎜🎜Utilisez le client Docker pour interagir avec le référentiel d'images🎜🎜🎜Enfin, utilisez le client Docker pour interagir avec le référentiel d'images. Tout d'abord, vous devez configurer un référentiel de confiance pour Docker : 🎜rrreee🎜Ajoutez le contenu suivant dans le fichier de configuration : 🎜rrreee🎜Enregistrez le fichier de configuration et redémarrez le service Docker : 🎜rrreee🎜Vous pouvez maintenant utiliser le client Docker pour interagir avec le référentiel d'images, par exemple, poussez et tirez l'image : 🎜rrreee🎜Ci-dessus sont toutes les étapes et exemples de code pour établir un entrepôt d'images Docker sûr et fiable sur le serveur Linux. En suivant ces étapes, vous pouvez créer un entrepôt d'images Docker sûr et fiable pour garantir la fiabilité et la sécurité des applications conteneurisées. 🎜

      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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment vérifier le nom du conteneur Docker Comment vérifier le nom du conteneur Docker Apr 15, 2025 pm 12:21 PM

Vous pouvez interroger le nom du conteneur Docker en suivant les étapes: répertorier tous les conteneurs (Docker PS). Filtrez la liste des conteneurs (à l'aide de la commande grep). Obtient le nom du conteneur (situé dans la colonne "Noms").

Comment démarrer un conteneur par Docker Comment démarrer un conteneur par Docker Apr 15, 2025 pm 12:27 PM

Étapes de démarrage du conteneur Docker: Tirez l'image du conteneur: Exécutez "Docker Pull [Mirror Name]". Créer un conteneur: utilisez "Docker Create [Options] [Mirror Name] [Commandes et paramètres]". Démarrez le conteneur: exécutez "docker start [nom de conteneur ou id]". Vérifiez l'état du conteneur: vérifiez que le conteneur s'exécute avec "Docker PS".

Quelle configuration de l'ordinateur est requise pour VScode Quelle configuration de l'ordinateur est requise pour VScode Apr 15, 2025 pm 09:48 PM

Vs Code Système Exigences: Système d'exploitation: Windows 10 et supérieur, MacOS 10.12 et supérieur, processeur de distribution Linux: minimum 1,6 GHz, recommandé 2,0 GHz et au-dessus de la mémoire: minimum 512 Mo, recommandée 4 Go et plus d'espace de stockage: Minimum 250 Mo, recommandée 1 Go et plus d'autres exigences: connexion du réseau stable, xorg / wayland (Linux) recommandé et recommandée et plus

Comment afficher les journaux de Docker Comment afficher les journaux de Docker Apr 15, 2025 pm 12:24 PM

Les méthodes pour afficher les journaux Docker incluent: à l'aide de la commande docker logs, par exemple: docker logs contener_name Utilisez la commande docker exec pour exécuter / bin / sh et afficher le fichier journal, par exemple: docker exec -it contener_name / bin / sh; Cat /var/log/continer_name.log Utilisez la commande docker-compose JORS de Docker Compose, par exemple: docker-compose -f docker-com

Comment créer des conteneurs pour Docker Comment créer des conteneurs pour Docker Apr 15, 2025 pm 12:18 PM

Créer un conteneur dans Docker: 1. Tirez l'image: docker pull [Nom du miroir] 2. Créer un conteneur: docker run [Options] [Nom du miroir] [Commande] 3. Démarrez le conteneur: docker start [Nom du conteneur]

Qu'est-ce que VScode pour quoi est VScode? Qu'est-ce que VScode pour quoi est VScode? Apr 15, 2025 pm 06:45 PM

VS Code est le code Visual Studio Nom complet, qui est un éditeur de code multiplateforme gratuit et open source et un environnement de développement développé par Microsoft. Il prend en charge un large éventail de langages de programmation et fournit une mise en surbrillance de syntaxe, une complétion automatique du code, des extraits de code et des invites intelligentes pour améliorer l'efficacité de développement. Grâce à un écosystème d'extension riche, les utilisateurs peuvent ajouter des extensions à des besoins et des langues spécifiques, tels que les débogueurs, les outils de mise en forme de code et les intégrations GIT. VS Code comprend également un débogueur intuitif qui aide à trouver et à résoudre rapidement les bogues dans votre code.

VScode ne peut pas installer l'extension VScode ne peut pas installer l'extension Apr 15, 2025 pm 07:18 PM

Les raisons de l'installation des extensions de code vs peuvent être: l'instabilité du réseau, les autorisations insuffisantes, les problèmes de compatibilité système, la version de code vs est trop ancienne, un logiciel antivirus ou des interférences de pare-feu. En vérifiant les connexions réseau, les autorisations, les fichiers journaux, la mise à jour vs du code, la désactivation des logiciels de sécurité et le redémarrage du code ou des ordinateurs, vous pouvez progressivement dépanner et résoudre les problèmes.

Comment changer le mode chinois avec VScode Comment changer le mode chinois avec VScode Apr 15, 2025 pm 11:39 PM

VS Code pour changer le mode chinois: ouvrez l'interface des paramètres (Windows / Linux: Ctrl, macOS: CMD,) Recherchez des paramètres "Editor: Language" Sélectionnez "Chine

See all articles