English English French French Spanish Spanish German German
Geekflare est soutenu par notre public. Nous pouvons gagner des commissions d'affiliation en achetant des liens sur ce site.
Partager sur:

Comment configurer le registre privé Docker sur Ubuntu 18?

registre privé docker
Scanner de sécurité des applications Web Invicti – la seule solution qui offre une vérification automatique des vulnérabilités avec Proof-Based Scanning™.

Docker Registry est une application logicielle qui vous permet de créer et de stocker vos images au sein de votre organisation.

Vous pouvez également créer et télécharger vos images sur le Docker Registre public du hub. Mais ces images deviennent publiques et tout le monde peut accéder à vos images et les utiliser. Il est donc recommandé d'utiliser le registre privé Docker qui vous permet de contrôler et de protéger vos images.

Dans ce tutoriel, je vais vous expliquer comment configurer un registre privé Docker sur Ubuntu 18.04.

Requirements

  • Deux serveurs Ubuntu avec les informations d'identification racine
  • Une adresse IP statique sur les deux serveurs

Getting Started

Avant de commencer, vous devrez configurer la résolution du nom d'hôte sur les deux systèmes. Ainsi, les deux systèmes peuvent communiquer entre eux par nom d'hôte.

Pour ce faire, exécutez la commande suivante sur les deux systèmes:

echo "192.168.0.100 server" >> /etc/hosts
echo "192.168.0.102 client" >> /etc/hosts

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Install Docker

Ensuite, vous devrez installer le package Docker sur les deux systèmes. Par défaut, Docker n'est pas disponible dans le référentiel par défaut Ubuntu 18.04. Vous devrez donc les ajouter.

Tout d'abord, installez les packages requis avec la commande suivante:

apt-get install apt-transport-https software-properties-common ca-certificates curl -y

Ensuite, ajoutez le référentiel Docker avec la commande suivante:

wget https://download.docker.com/linux/ubuntu/gpg 
apt-key add gpg
echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable" | tee /etc/apt/sources.list.d/docker.list

Ensuite, mettez à jour le référentiel et installez Docker avec la commande suivante:

apt-get update -y
apt-get install docker-ce -y

Une fois l'installation terminée, vérifiez l'état du docker avec la commande suivante:

systemctl status docker

Vous devriez voir la sortie suivante:

docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2019-05-01 15:08:45 UTC; 7min ago
Docs: https://docs.docker.com
Main PID: 2658 (dockerd)
Tasks: 8
CGroup: /system.slice/docker.service
└─2658 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Install Docker Registry Container

Tout d'abord, vous devrez installer le conteneur de registre sur votre système serveur. Vous pouvez le faire en exécutant la commande suivante:

docker pull registry

Une fois l'image de registre téléchargée, vous devriez voir la sortie suivante:

Using default tag: latest
latest: Pulling from library/registryc
87736221ed0: Pull complete 
1cc8e0bb44df: Pull complete 
54d33bcb37f5: Pull complete 
e8afc091c171: Pull complete 
b4541f6d3db6: Pull complete 
Digest: sha256:3b00e5438ebd8835bcfa7bf5246445a6b57b9a50473e89c02ecc8e575be3ebb5
Status: Downloaded newer image for registry:latest

Ensuite, démarrez le conteneur de registre avec la commande suivante:

docker run -d -p 5000:5000 --restart=always --name registry registry

Vous pouvez voir le conteneur de registre en cours d'exécution avec la commande suivante:

docker ps

Vous devriez voir la sortie suivante:

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4912e461745f registry "/entrypoint.sh /etc…" About a minute ago Up About a minute 0.0.0.0:5000->5000/tcp registry

Create a Docker Container Image on the Client System

Votre serveur de registre est maintenant prêt à être utilisé. Il est temps de créer une image de conteneur Docker sur le système client.

Tout d'abord, connectez-vous au système client et créez un fichier docker pour créer l'image du serveur Web Nginx:

mkdir Image
cd Image
nano dockerfile

Ajoutez les lignes suivantes:

FROM ubuntu:18.04
LABEL project="Nginx Web Server Image"
LABEL maintainer "hitjethva@gmail.com"
RUN \a
pt-get update && \
apt-get install -y nginx && \
rm -rf /var/lib/apt/lists/* && \
echo "\ndaemon off;" >> /etc/nginx/nginx.conf && \
chown -R www-data:www-data /var/lib/nginx
# Define mountable directories.
VOLUME ["/etc/nginx/sites-enabled", "/etc/nginx/certs", "/etc/nginx/conf.d", "/var/log/nginx", "/var/www/html"]
# Define working directory.WORKDIR /etc/nginx
# Define default command.CMD ["nginx"]
# Expose ports.
EXPOSE 80
EXPOSE 443

Enregistrez et fermez le fichier. Ensuite, créez une image Nginx en exécutant la commande suivante:

docker build -t ubuntu:nginx .

Après avoir créé l'image Nginx avec succès, vous devriez voir la sortie suivante:

---> bc6e61406108
Step 5/9 : VOLUME ["/etc/nginx/sites-enabled", "/etc/nginx/certs", "/etc/nginx/conf.d", "/var/log/nginx", "/var/www/html"]
---> Running in 30832b7ff816
Removing intermediate container 30832b7ff816
---> 1940ec1c2225Step 6/9 : WORKDIR /etc/nginx
---> Running in 88755ef2d7c8
Removing intermediate container 88755ef2d7c8
---> 4fe930c96a73Step 7/9 : CMD ["nginx"]
---> Running in c8d492317d88
Removing intermediate container c8d492317d88
---> 3218acfd15f8Step 8/9 : EXPOSE 80
---> Running in 35921ef45db9Removing intermediate container 35921ef45db9
---> a6a299b86a6dStep 9/9 : EXPOSE 443
---> Running in 755441cefe2f
Removing intermediate container 755441cefe2f
---> 9be7dc6b0825
Successfully built 9be7dc6b0825
Successfully tagged ubuntu:nginx

Ensuite, vous pouvez vérifier l'image générée avec la commande suivante:

docker images

Vous devriez voir votre image nginx dans la sortie suivante:

REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu nginx 9be7dc6b0825 About a minute ago 161MB
ubuntu 18.04 d131e0fa2585 4 days ago 102MB
registry latest f32a97de94e1 7 weeks ago 25.8MB

Ensuite, vous devrez renommer votre image nginx au format «registryserver: portnumber / image name: tag».

Vous pouvez le faire avec la commande suivante:

docker tag ubuntu:nginx server:5000/ubuntu:nginx

Upload Nginx Image on Private Registry Server

Vous pouvez maintenant télécharger votre image Nginx générée sur Private Registry Server à l'aide de la commande push:

docker push server:5000/ubuntu:nginx

Une fois l'image téléchargée avec succès, vous devriez voir la sortie suivante:

The push refers to repository [server:5000/ubuntu]
2e5us8en4s9d: Pushed 
l1is9e9d8j7e: Pushed 
nginx: digest: sha256:aa0d8fi49dir0d7rn33nee122b size: 1862

Vous pouvez également télécharger l'image téléchargée à partir du serveur de registre avec la commande suivante:

docker pull server:5000/ubuntu:nginx

J'espère que vous avez maintenant suffisamment de connaissances pour configurer votre propre serveur de registre docker privé sur un serveur de production. Si vous cherchez à obtenir plus de travaux pratiques sur Docker, consultez ceci Cours en ligne.

Merci à nos commanditaires
Plus de bonnes lectures sur le Cloud Computing
Alimentez votre entreprise
Certains des outils et services pour aider votre entreprise à se développer.
  • Invicti utilise Proof-Based Scanning™ pour vérifier automatiquement les vulnérabilités identifiées et générer des résultats exploitables en quelques heures seulement.
    Essayez Invicti
  • Web scraping, proxy résidentiel, proxy manager, web unlocker, moteur de recherche et tout ce dont vous avez besoin pour collecter des données Web.
    Essayez Brightdata
  • Semrush est une solution de marketing numérique tout-en-un avec plus de 50 outils de référencement, de médias sociaux et de marketing de contenu.
    Essayez Semrush
  • Intruder est un scanner de vulnérabilités en ligne qui détecte les failles de cybersécurité de votre infrastructure, afin d'éviter des violations de données coûteuses.
    Essayez Intruder