So verwenden Sie Docker zum Erstellen eines privaten pypi-Repositorys

So verwenden Sie Docker zum Erstellen eines privaten pypi-Repositorys

1. Konstruktion

1. Bereiten Sie die Datei htpasswd.txt vor

Die Datei enthält den Benutzernamen und das Passwort zur Verifizierung beim Hochladen des Pakets ins Lager.

pip install htpasswd
htpasswd -sc htpasswd.txt <Benutzername>

2. Starten Sie den Container

docker run --name pypiserver --restart=always -v /data/pypi/packages:/data/packages -v /root/htpasswd.txt:/data/htpasswd.txt -p 8080:8080 -d pypiserver/pypiserver -P htpasswd.txt Pakete
#Sie müssen das Datenverzeichnis und die Datei htpasswd.txt im Voraus auf dem Host erstellen

3. Richten Sie den Nginx-Reverse-Proxy ein

cat /usr/local/nginx/conf/exten/pypi.conf
Upstream-Pypi {
          Server 127.0.0.1:8080;
      }
 
Server {
 
    hören Sie 80;
    Servername pypi.local.me;
    Standort / {
          Proxy_Pass_Header-Server;
          Proxy_set_header Host $http_host;
          Proxy_Redirect aus;
          Proxy_Set_Header X-Real-IP $Remote_Addr;
          proxy_set_header X-Schema $scheme;
          Proxy-Passwort http://pypi;
          }
}

2. Verwendung

1. Erstellen Sie ein Testprojekt

# Erstellen Sie ein Projektverzeichnis mkdir -p linode_example/linode_example
# setup.py erstellen
Katze linode_example/setup.py
von Setuptools Setup importieren
aufstellen(
   Name = "Linode_Beispiel",
   packages=['linode_example'], #Verzeichnis nach dem Hochladen ins Warehouse, z. B. http://pypi.local.me/linode_example
   Beschreibung = 'Hallo Welt, Enterprise Edition',
   version='0.1', # Versionsnummer url='http://github.com/example/linode_example',
   Autor = "Linode",
   Schlüsselwörter = ['pip', 'linode', 'Beispiel']
   )
# Der Inhalt dieser Datei dient nur zu Erklärungszwecken. Sie können ihn entsprechend Ihrem eigenen Paket festlegen. # Erstellen Sie das Hauptprogramm __init__.py cat linode_example/linode_example/__init__.py
def hallo_wort():
   drucken("Hallo Welt")
 
#Paket und python3.7 setup.py hochladen sdist #Paket. Nach der Ausführung befindet sich ein Tarball im Verzeichnis „dist“ twine upload --repository-url http://pypi.local.me dist/* #Beim Hochladen sind Benutzername und Passwort erforderlich: admin/admin123

2. Verwenden Sie das in das Lager hochgeladene Paket

pip install -i http://pypi.local.me --trusted-host pypi.local.me linode_beispiel

Verpackungshinweise:

1. Die Verzeichnisstruktur aller Projekte, die im Git-Repository gepackt werden müssen, muss konsistent sein, um die automatische Integration von Jenkinsfile zu ermöglichen.

2. Die setup.py-Dateien aller Projekte, die verpackt werden müssen, müssen sich im Stammverzeichnis des Projekts befinden.

3. Python verwendet eine einheitliche Version, und die Version jedes Projekts muss korrigiert werden, um die Iteration zu erleichtern.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Der Prozess zum Erstellen eines privaten Docker-Registry-Warehouses
  • Detailliertes Tutorial zur Installation von Harbor Private Warehouse mit Docker Compose
  • Docker-Compose erstellt schnell Schritte für ein privates Docker-Warehouse
  • Schritte für Docker zum Erstellen eines privaten Lagerhafens
  • Der Prozess, mit dem Docker ein privates Lager einrichtet

<<:  Zusammenfassung von 10 erstaunlichen Tricks von Element-UI

>>:  Fragen und Antworten: Unterschiede zwischen XML und HTML

Artikel empfehlen

Schritte zur VMware-Konfiguration des VMnet8-Netzwerks

Inhaltsverzeichnis 1. Einleitung 2. Konfiguration...

vue3.0 + echarts realisiert dreidimensionales Säulendiagramm

Vorwort: Vue3.0 implementiert dreidimensionales S...

So ändern Sie den Hostnamen in Linux

1. Den aktuellen Hostnamen anzeigen [root@fangjia...

Element Plus implementiert Affix

Inhaltsverzeichnis 1. Komponenteneinführung 2. Qu...

onfocus="this.blur()" wird von blinden Webmastern gehasst

Als er über die Seite zur Bedienung der Bildschir...

So installieren Sie den Apache-Dienst im Linux-Betriebssystem

Downloadlink: Betriebsumgebung CentOS 7.6 in eine...

So installieren Sie Redis in Docke

1. Suchen Sie nach einem Redis-Image Docker-Suche...

Detaillierte Erklärung der MySQL-Binlog-Verwendung

binlog ist eine binäre Protokolldatei, die alle D...

MySQL-Datenmigration mit dem Befehl MySQLdump

Die Vorteile dieser Lösung liegen in der Einfachh...

So installieren Sie Nginx und konfigurieren mehrere Domänennamen

Nginx-Installation CentOS 6.x yum verfügt standar...

Rendering-Funktion und JSX-Details

Inhaltsverzeichnis 1. Grundlagen 2. Knoten, Bäume...

Tutorial zur Installation von MySQL 8.0.11 unter Linux

1. Gehen Sie zur offiziellen Website, um das Inst...