So erstellen Sie Ihr eigenes Docker-Image und laden es auf Dockerhub hoch

So erstellen Sie Ihr eigenes Docker-Image und laden es auf Dockerhub hoch

1. Registrieren Sie zunächst Ihr eigenes Dockerhub-Konto. Registrierungsadresse: https://hub.docker.com

2. Melden Sie sich bei Ihrem Konto auf dem Linux-Server an: docker login --username=qiaoyeye

3. Suchen Sie das gewünschte Image unter https://hub.docker.com/

4. Ziehen Sie das Image lokal: docker pull centos

5. Bereiten Sie die JDK- und Tomcat-Software lokal vor, dekomprimieren Sie sie und legen Sie sie auf dem Server ab

6. Erstellen Sie eine neue Dockerfile-Datei und achten Sie auf Groß- und Kleinschreibung

#---------------------------------------------------------------------

#Dies ist ein Kommentar#Verwenden Sie das Basisimage centos:latest

VON centos:latest
#Geben Sie die Informationen zum Bildersteller an MAINTAINER qiaoyeye <<A href="mailto:[email protected]@163.com" rel="external nofollow" >[email protected]>

#Wechseln Sie das Image-Verzeichnis und geben Sie das Verzeichnis /usr ein (das Basisimage ist ein Linux-System. Sie können sich auf Linux beziehen, um das entsprechende Verzeichnis anzuzeigen).
ARBEITSVERZEICHNIS /usr

#Erstellen Sie ein Java-Verzeichnis unter /usr/, um JDK zu speichern
Führen Sie mkdir java aus

#Wechseln Sie das Spiegelverzeichnis zu /usr/java
ARBEITSVERZEICHNIS /usr/java

#Erstellen Sie ein JDK-Verzeichnis unter /usr/java, um JDK-Dateien zu speichern. RUN mkdir jdk

#Wechseln Sie das Spiegelverzeichnis zu /usr/java/jdk
ARBEITSVERZEICHNIS /usr/java/jdk

#Fügen Sie alle Dateien im JDK-Verzeichnis des Hosts zum Verzeichnis /usr/java/jdk des Spiegels hinzu ADD jdk /usr/java/jdk

#Wechseln Sie das Spiegelverzeichnis zu /opt
ARBEITSVERZEICHNIS /opt

#Erstellen Sie ein Tomcat-Verzeichnis unter /opt, um Tomcat-Dateien zu speichern. RUN mkdir tomcat

#Fügen Sie alle Dateien im Tomcat-Verzeichnis des Hostcomputers zum /opt/tomcat-Verzeichnis des Spiegels hinzu ADD tomcat /opt/tomcat

#Umgebungsvariable ENV JAVA_HOME=/usr/java/jdk festlegen
ENV JAVA_BIN=/usr/java/jdk/bin
ENV PATH=$PATH:$JAVA_HOME/bin
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

#Legen Sie den Vorgang fest, der ausgeführt werden soll, wenn der Container gestartet wird CMD /opt/tomcat/bin/catalina.sh run

#---------------------------------------------------------------------

7. Erstellen Sie einen Spiegel: docker build -tqiaoyeye/centos:latest.

Beachten Sie den letzten Punkt

8. Zeigen Sie die erstellten Docker-Images an

9. Laden Sie den Bildwert in das Hub-Warehouse hoch.

Docker Pushqiaoyeye/Centos: neuste

10. Wenn das hochgeladene Image nicht Ihr Dockerhub ist und der Imagename lautet: Docker-ID/Warehouse-Name, verwenden Sie zuerst: Docker-Tag-Image-ID Docker-ID/Warehouse-Name: neuer Tag-Name (Tag)

sudo Docker-Tag bd213262aa2cqiaoyeye/centos:latest

11. Nachdem der Upload erfolgreich war, melden Sie sich bei Ihrem Dockerhub an und überprüfen Sie

PS: Wie lade ich das Bild in die Alibaba Cloud hoch? ? ?

Die Schritte zum Hochladen des Bildes in die Alibaba Cloud sind dieselben wie oben. Detaillierte offizielle Anweisungen für die Essenskarte: https://cr.console.aliyun.com/repository/cn-beijing/qiaoyeye/test1/details

1. Melden Sie sich bei Alibaba Cloud Docker Registry an

$ sudo docker login --username=乔叶叶registry.cn-beijing.aliyuncs.com

Der zum Anmelden verwendete Benutzername ist der vollständige Name des Alibaba Cloud-Kontos und das Kennwort ist das bei der Aktivierung des Dienstes festgelegte Kennwort.

Sie können Ihr Anmeldekennwort auf der Homepage der Produktkonsole ändern.

2. Ziehen Sie das Bild aus der Registrierung

$ sudo docker pull registry.cn-beijing.aliyuncs.com/qiaoyeye/test1:[Image-Versionsnummer]

3. Übertragen Sie das Image in die Registry

$ sudo docker login --username=Registrierung von Registry.cn-beijing.aliyuncs.com$ sudo docker tag [ImageId] registry.cn-beijing.aliyuncs.com/qiaoyeye/test1:[Image-Versionsnummer]$ sudo docker push registry.cn-beijing.aliyuncs.com/qiaoyeye/test1:[Image-Versionsnummer]

Bitte ersetzen Sie die Parameter [ImageId] und [Bildversionsnummer] im Beispiel entsprechend den tatsächlichen Bildinformationen.

4. Wählen Sie die entsprechende Bild-Repository-Adresse

Beim Pushen eines Images von ECS können Sie die Intranetadresse des Image-Repositorys verwenden. Die Push-Geschwindigkeit wird verbessert und belastet nicht den Verkehr Ihres öffentlichen Netzwerks.

Wenn sich die von Ihnen verwendete Maschine in einem klassischen Netzwerk befindet, verwenden Sie registry-internal.cn-beijing.aliyuncs.com als Domänennamen der Registry zum Anmelden und als Präfix für den Image-Namespace.

Wenn sich die von Ihnen verwendete Maschine in einem VPC-Netzwerk befindet, verwenden Sie registry-vpc.cn-beijing.aliyuncs.com als Domänennamen für die Anmeldung beim Register und als Präfix für den Image-Namespace.

5. Beispiele

Benennen Sie das Image mit dem Befehl „Docker Tag“ um und pushen Sie es über die private Netzwerkadresse in die Registry.

$ sudo docker imagesREPOSITORY TAG IMAGE ID CREATED VIRTUELLE GRÖSSEregistry.aliyuncs.com/acs/agent 0.7-dfb6816 37bb9c63c8b2 vor 7 Tagen 37,89 MB$ sudo docker tag 37bb9c63c8b2 registry-vpc.cn-beijing.aliyuncs.com/acs/agent:0.7-dfb6816

Verwenden Sie den Befehl „Docker Images“, um das Image zu finden, und ändern Sie den Domänennamen im Imagenamen in die private Netzwerkadresse der Registrierung.

$ sudo docker push registry-vpc.cn-beijing.aliyuncs.com/acs/agent:0.7-dfb6816

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:
  • Docker-Image-Analysetool - Analyse des Tauchprinzips
  • So erstellen Sie ein Apache-Image mit Dockerfile
  • Docker-Image-Zugriff auf den lokalen Elasticsearch-Port-Vorgang
  • Multiservice-Image-Packaging-Vorgang von Dockerfile unter Aufsicht
  • Komprimierungs- und Optimierungsvorgänge für Docker-Images

<<:  In einem Artikel erfahren Sie, wie Sie mehrere DIVs und Schaltflächenbindungs-Eingabeereignisse in VUE implementieren

>>:  Schritte zur Lösung des Zeitzonenproblems in MySQL 8.0

Artikel empfehlen

Vollständige Schritte zum Erstellen eines Passwortgenerators mit Node.js

Inhaltsverzeichnis 1. Vorbereitung 2. Befehlszeil...

MySQL-Fehler 1290 (HY000) Lösung

Ich habe lange mit einem Problem gekämpft und das...

Ausführliche Erklärung des Binlogs in MySQL 8.0

1 Einleitung Das Binärprotokoll zeichnet SQL-Anwe...

So ändern Sie den MySQL-Zeichensatz utf8 in utf8mb4

Wenn für MySQL 5.5 der Zeichensatz nicht festgele...

MySQL-Tutorial versteht gespeicherte Prozeduren gründlich

Inhaltsverzeichnis 1. Konzepte im Zusammenhang mi...

Detaillierte Erklärung des Missverständnisses zwischen MySQL und Oracle

Inhaltsverzeichnis Wesentlicher Unterschied Daten...

Einige Indikatoren für exzellentes Web-Frontend-Design

Die Barrierefreiheit von Webseiten scheint etwas z...

So starten Sie mehrere MySQL-Instanzen in CentOS 7.0 (mysql-5.7.21)

Konfigurationsanweisungen Linux-System: CentOS-7....

Detaillierte Erläuterung des Linux-Befehls zur Änderung des Hostnamens

Linux-Befehl zum Ändern des Hostnamens 1. Wenn Si...

So stellen Sie MySQL-Master und -Slave in Docker bereit

Bild herunterladen Auswählen eines MySQL-Images D...