Geekflare wird von unserem Publikum unterstützt. Wir können Affiliate-Provisionen durch den Kauf von Links auf dieser Website verdienen.
Teilen:

Wie richte ich die private Docker-Registrierung unter Ubuntu 18 ein?

Docker private Registrierung
Invicti Web Application Security Scanner – die einzige Lösung, die eine automatische Verifizierung von Schwachstellen mit Proof-Based Scanning™ bietet.

Docker Registry ist eine Softwareanwendung, mit der Sie Ihre Bilder in Ihrem Unternehmen erstellen und speichern können.

Sie können Ihre Bilder auch auf der Website erstellen und hochladen Docker Öffentliche Hub-Registrierung. Diese Bilder werden jedoch öffentlich und jeder kann auf Ihre Bilder zugreifen und sie verwenden. Es wird daher empfohlen, die private Docker-Registrierung zu verwenden, mit der Sie Ihre Bilder steuern und schützen können.

In diesem Tutorial werde ich erklären, wie Sie eine private Docker-Registrierung unter Ubuntu 18.04 einrichten.

Requirements

  • Zwei Ubuntu-Server mit den Root-Anmeldeinformationen
  • Eine statische IP-Adresse auf beiden Servern

Getting Started

Bevor Sie beginnen, müssen Sie die Auflösung des Hostnamens auf beiden Systemen konfigurieren. Somit können beide Systeme über den Hostnamen miteinander kommunizieren.

Führen Sie dazu auf beiden Systemen den folgenden Befehl aus:

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

Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Install Docker

Als Nächstes müssen Sie das Docker-Paket auf beiden Systemen installieren. Standardmäßig ist Docker im Ubuntu 18.04-Standardrepository nicht verfügbar. Sie müssen sie also hinzufügen.

Installieren Sie zunächst die erforderlichen Pakete mit dem folgenden Befehl:

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

Fügen Sie als Nächstes das Docker-Repository mit dem folgenden Befehl hinzu:

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

Aktualisieren Sie als Nächstes das Repository und installieren Sie Docker mit dem folgenden Befehl:

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

Überprüfen Sie nach Abschluss der Installation den Status des Dockers mit dem folgenden Befehl:

systemctl status docker

Sie sollten die folgende Ausgabe sehen:

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

Zunächst müssen Sie den Registrierungscontainer auf Ihrem Serversystem installieren. Sie können dies tun, indem Sie den folgenden Befehl ausführen:

docker pull registry

Nach dem Herunterladen des Registrierungsabbilds sollte die folgende Ausgabe angezeigt werden:

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

Starten Sie als Nächstes den Registrierungscontainer mit dem folgenden Befehl:

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

Sie können den laufenden Registrierungscontainer mit dem folgenden Befehl anzeigen:

docker ps

Sie sollten die folgende Ausgabe sehen:

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

Ihr Registrierungsserver ist jetzt einsatzbereit. Es ist Zeit, ein Docker-Container-Image auf dem Client-System zu erstellen.

Melden Sie sich zunächst beim Client-System an und erstellen Sie eine Docker-Datei, um das Nginx-Webserver-Image zu erstellen:

mkdir Image
cd Image
nano dockerfile

Fügen Sie die folgenden Zeilen hinzu:

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

Speichern und schließen Sie die Datei. Erstellen Sie dann ein Nginx-Image, indem Sie den folgenden Befehl ausführen:

docker build -t ubuntu:nginx .

Nachdem Sie das Nginx-Image erfolgreich erstellt haben, sollte die folgende Ausgabe angezeigt werden:

---> 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

Als Nächstes können Sie das generierte Bild mit dem folgenden Befehl überprüfen:

docker images

Sie sollten Ihr Nginx-Bild in der folgenden Ausgabe sehen:

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

Als Nächstes müssen Sie Ihr Nginx-Image im Format "Registrierungsserver: Portnummer / Bildname: Tag" umbenennen.

Sie können dies mit dem folgenden Befehl tun:

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

Upload Nginx Image on Private Registry Server

Sie können Ihr generiertes Nginx-Image jetzt mit dem Push-Befehl auf Private Registry Server hochladen:

docker push server:5000/ubuntu:nginx

Sobald das Bild erfolgreich hochgeladen wurde, sollte die folgende Ausgabe angezeigt werden:

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

Sie können das hochgeladene Bild auch mit dem folgenden Befehl vom Registrierungsserver herunterladen:

docker pull server:5000/ubuntu:nginx

Ich hoffe, Sie haben jetzt genug Wissen, um Ihren eigenen privaten Docker-Registrierungsserver auf einem Produktionsserver einzurichten. Wenn Sie mehr Docker zum Anfassen benötigen, lesen Sie dies Online Kurs.

Danke an unsere Sponsoren
Weitere großartige Lektüren zum Thema Cloud Computing
Treiben Sie Ihr Geschäft an
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti verwendet das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu verifizieren und innerhalb weniger Stunden umsetzbare Ergebnisse zu generieren.
    Versuchen Sie es mit Invicti
  • Web-Scraping, Wohn-Proxy, Proxy-Manager, Web-Unlocker, Suchmaschinen-Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie es mit Brightdata
  • Semrush ist eine All-in-One-Lösung für digitales Marketing mit mehr als 50 Tools in den Bereichen SEO, Social Media und Content-Marketing.
    Versuchen Sie es mit Semrush
  • Intruder ist ein Online-Schwachstellenscanner, der Cyber-Sicherheitslücken in Ihrer Infrastruktur findet, um kostspielige Datenschutzverletzungen zu vermeiden.
    MIT DER INTELLIGENTEN SCHADENKALKULATION VON Intruder