Der Prozess des Erstellens und Konfigurierens der Git-Umgebung in Docker

Der Prozess des Erstellens und Konfigurierens der Git-Umgebung in Docker

Konfigurieren Sie die Git-Umgebung in Docker

Bei der Arbeit stieß ich auf ein Szenario, in dem ich ein GitLab-Repository in einer Docker-Umgebung betreiben musste, sodass ich die Git-Umgebung im Voraus in Docker einrichten musste.

Da der Betrieb des Git-Repositorys in Docker vollständig automatisiert ist, ist es notwendig, das Repository abzurufen und Vorgänge ohne Kennwort zu übermitteln. Ich verwende hier SSH, um Vorgänge ohne Kennwort auszuführen.

Als Erstes muss SSH konfiguriert werden und als Zweites die Docker-Umgebung.

SSH-Schlüssel konfigurieren

Zuerst den SSH-Schlüssel generieren:

SSH-Agent
Auswertung $(ssh-agent -s)
ssh-keygen -o -t rsa -b 4096 -C "{Benutzername}"
ssh-add ~/.ssh/id_rsa //Zu .bashrc hinzufügen

Gehen Sie zur GitLab-Seite, melden Sie sich an und wählen Sie dann „Einstellungen“ aus.

Bildbeschreibung hier einfügen
Bildbeschreibung hier einfügen
Bildbeschreibung hier einfügen

Wählen Sie SSH-Schlüssel in der linken Navigationsleiste aus.

Kopieren Sie die zuvor generierte öffentliche Schlüsseldatei id_rsa.pub (die Datei befindet sich in ~/.ssh/id_rsa.pub ) in diesen Bereich:

Bildbeschreibung hier einfügen

Klicken Sie dann auf Schlüssel hinzufügen:

Bildbeschreibung hier einfügen

Auf diese Weise ist der öffentliche SSH-Schlüssel an den GitLab-Benutzer gebunden und der Benutzer kann in Zukunft verwendet werden, um kennwortfreie Vorgänge im Git-Repository durchzuführen.

Konfigurieren der Docker-Umgebung

Kopieren Sie zunächst den privaten Schlüssel in dasselbe Verzeichnis wie das Docker-File (vorausgesetzt, das Projekt enthält ein Docker-File) und konfigurieren Sie dann das Docker-File.

# SSH-Umgebung für Gitlab konfigurieren
RUN mkdir -p /root/.ssh
KOPIEREN Sie id_rsa /root/.ssh/
RUN echo "StrictHostKeyChecking nein" >> /etc/ssh/ssh_config \
    && echo "UserKnownHostsFile /dev/null" >> /etc/ssh/ssh_config
Führen Sie den Befehl git config --global user.email "[email protected]" \ aus. 
    && git config --global user.name "Benutzername"

Fügen Sie einfach diesen Code ein. Verwenden Sie für user.email und user.name die Kontonummer, mit der der GitLab SSH-Schlüssel zuvor konfiguriert wurde.

Ab diesem Zeitpunkt können Sie das Git-Repository in Docker ohne Kennwort betreiben.

Mögliche Fehler

Wenn die folgenden Fehler weiterhin bestehen:

Bildbeschreibung hier einfügen

Dies deutet auf id_rsa 權限問題,通過在Dockerfile 中加入

RUN chown 1000:1000 /root/.ssh/id_rsa

Das Problem ist gelöst.

Damit ist dieser Artikel über das Einrichten und Konfigurieren der Git-Umgebung in Docker abgeschlossen. Weitere Informationen zum Konfigurieren der Git-Umgebung mit Docker finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Detailliertes Tutorial zum Erstellen einer Continuous-Integration-Delivery-Umgebung basierend auf Docker+K8S+GitLab/SVN+Jenkins+Harbor
  • Methoden und Schritte zum Bereitstellen einer GitLab-Umgebung basierend auf Docker
  • Verwenden Sie Docker, um ein Git-Image mithilfe des Klon-Repositorys zu erstellen
  • So stellen Sie Gitlab schnell mit Docker bereit
  • Docker-Compose - Bereitstellung der chinesischen Gitlab-Version per Mausklick - Methodenschritte
  • Centos7 verwendet Docker zum Erstellen eines Gitlab-Servers
  • Detaillierte Erklärung zur Verwendung von Docker zum Erstellen von Gitlab

<<:  MySQL-Serie 9 MySQL-Abfrage-Cache und -Index

>>:  Eine kurze Analyse der vier Importmethoden und Prioritäten in CSS

Artikel empfehlen

Detaillierte Erklärung der RPM-Installation in MySQL

Installation und Deinstallation anzeigen # rpm -q...

Beispiel für die MySQL-Methode zum Löschen von Daten und Datentabellen

Es ist sehr einfach, Daten und Tabellen in MySQL ...

Verwenden Sie Standard-DL-, DT- und DD-Tags, um Tabellenlisten zu verwerfen

Heutzutage beginnen immer mehr Front-End-Entwickle...

Fehlerbehebung bei der Ursache des 502 Bad Gateway-Fehlers auf dem Nginx-Server

Der Server meldet einen Fehler 502 beim Synchroni...

Detaillierte Schritte zum Debuggen von VUE-Projekten in IDEA

Um JS-Code zu debuggen, müssen Sie jedes Mal eine...

Javascript-Betriebsmechanismus „Event Loop“

Inhaltsverzeichnis 1. Vier Konzepte 1. JavaScript...

Tutorial zu HTML-Formular-Tags (3): Eingabe-Tag

Tutorial zu HTML-Formular-Tags. In diesem Abschni...

Vue3 implementiert ein Beispiel für eine Nachrichtenkomponente

Inhaltsverzeichnis Komponentendesign Definieren d...

Angular Cookie Lese- und Schreibvorgangscode

Lese- und Schreibvorgänge bei Angular Cookies, de...

Detaillierte Erklärung der Rolle von Klammern in AngularJS

1. Die Rolle der Klammern 1.1 Eckige Klammern [ ]...