So erstellen Sie ein CentOS-Basisimage

So erstellen Sie ein CentOS-Basisimage

Vorwort

Derzeit ist das von meiner Firma verwendete Betriebssystem ausschließlich CentOS 7.4, und natürlich werden auch die Anwendungen auf CentOS bereitgestellt. Wenn Docker für die Bereitstellung verwendet wird, ist es natürlich, ein eigenes Anwendungsimage basierend auf dem CentOS-Image zu erstellen. Sie können jedoch auch ein grundlegendes Framework-Image zwischen dem CentOS-Basisimage und dem Anwendungsimage erstellen, z. B. ein grundlegendes JDK-Image, ein auf einer Python-Umgebung basierendes Image usw.; Ich glaube, jeder hat auch schon einmal festgestellt, dass nach dem Erstellen eines Images die chinesische Ausgabe beim Bereitstellen der Anwendung verstümmelt ist. Die Protokollzeit zeigt die UTC-Zeit an, die 8 Stunden unter der Peking-Zeit liegt. Wenn Sie sehen möchten, ob ein bestimmter Prozess ausgeführt wird, stellen Sie fest, dass die Befehle Telnet, PS und Netstat nicht verfügbar sind. Wenn Sie eine Datei bearbeiten möchten, stellen Sie fest, dass auch der Befehl Vim nicht verfügbar ist. Heute werden wir uns ansehen, wie ein erweitertes CentOS-Image basierend auf dem CentOS-Image erstellt wird.

Erstellen eines Spiegelrepositorys

Bevor Sie Ihr eigenes Image erstellen, benötigen Sie einen Ort, an dem Sie Ihr Image speichern können, damit Sie es später direkt verwenden können. Es gibt zwei Möglichkeiten: Die erste besteht darin, es auf Ihrem eigenen Computer zu erstellen und es dann mit dem Befehl docker save -o xxx.tar.gz xxx-image:v1.0 auf Ihre eigene Cloud-Festplatte hochzuladen. Wenn Sie es verwenden, laden Sie es auf Ihre lokale Festplatte herunter und verwenden Sie dann docker load -i xxx.tar.gz . Diese Methode ist in Ordnung, aber umständlicher (Verpacken, Hoch- und Herunterladen und Suchen des Verzeichnisses beim Laden). Die zweite besteht darin, ein eigenes Docker-Image-Register zu erstellen. Für das lokal erstellte Image müssen Sie es nur neu taggen, und Docker Push kann es abschließen. Beim Herunterladen müssen Sie nur „docker pull“ ausführen, und alles kann über die Befehlszeile erledigt werden. Allein der Gedanke daran ist mir etwas unangenehm.

Nachdem wir so viel gesagt haben, schauen wir uns an, wie Sie Ihr eigenes Image-Warehouse erstellen können. (In diesem Artikel verwenden wir nur das Warehouse von Alibaba Cloud und erstellen unseren eigenen Namespace.) Natürlich können Sie auch selbst einen Cloud-Host beantragen und dann einen privaten Server erstellen.

Melden Sie sich zunächst bei Alibaba Cloud an und suchen Sie dann vom Dienst aus den Speicherort des Container-Image-Dienstes, wie in der folgenden Abbildung dargestellt:

Klicken Sie auf „Container Mirror Service“, um die Schnittstelle zur Erstellung eines Mirror Warehouse wie unten gezeigt aufzurufen.

Klicken Sie auf „Erstellen“, um die Schnittstelle zur Lagererstellung aufzurufen

Nachdem Sie die Informationen eingegeben haben, klicken Sie auf Weiter, um auszuwählen, wie das Bild hochgeladen werden soll.

Denn meine Anforderung besteht darin, aus einem lokalen Lager zu bauen, aber ich denke, dass der Bau eines lokalen Lagers die flexibelste Möglichkeit ist;

Nachdem Sie den Image-Speicherort erstellt haben, können Sie lokal eine Docker-Datei erstellen, um Ihr eigenes Image zu erstellen.

Erstellen Sie ein Image der erweiterten CentOS-Version

1. Erstellen Sie zunächst eine Dockerfile-Datei und fügen Sie den folgenden Inhalt in die Datei ein

VON centos
WARTUNGSBEAUFTRAGTER terry.king "[email protected]"

# Definieren Sie den Zeitzonenparameter ENV TZ=Asia/Shanghai
RUN ls -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo '$TZ' > /etc/timezone
# Stellen Sie die Kodierung ein RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8
ENV LC_ALL "zh_CN.UTF-8"

# Installieren Sie grundlegende Yum-Pakete. RUN yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel patch net-tools iproute telnet bind-utils wget kde-l10n-Chinese glibc-common

2. Melden Sie sich bei Alibaba Cloud Docker Registry an

sudo docker login --username=Ihr Alibaba Cloud-Konto registry.cn-shenzhen.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. Dies ist die zweite Schaltfläche zum Erstellen eines Spiegelrepositorys. Legen Sie links das Registrierungs-Anmeldekennwort fest.

3. Erstellen Sie das Image und übertragen Sie es in die Registry

$ docker build -t terrylmay/centos .
$ Docker-Tag terrylmay/centos registry.cn-shenzhen.aliyuncs.com/terrylmay/centos:[Image-Versionsnummer]
$ docker push registry.cn-shenzhen.aliyuncs.com/terrylmay/centos:[Image-Versionsnummer]

Die Standardversionsnummer des Bildes ist die neueste

Zusammenfassen

Auf diese Weise können eine Reihe der im Vorwort erwähnten Probleme beim Erstellen eines Anwendungsimages gelöst werden. Es ist praktisch für Sie, schnell Ihr eigenes Anwendungsimage zu erstellen.

Das könnte Sie auch interessieren:
  • CentOS 6.5 erstellt ein Docker-Image, das sich über SSH anmelden kann

<<:  Entwickeln Sie Beispielcode für einen Taschenrechner mit nativem JavaScript

>>:  Zusammenfassung der Installation der grünen Version von MySQL5 unter Windows (empfohlen)

Artikel empfehlen

MySQL 5.6.28 Installations- und Konfigurations-Tutorial unter Linux (Ubuntu)

mysql5.6.28 Installations- und Konfigurationsmeth...

Detaillierte Erläuterung des Ausführungsprozesses der JavaScript-Engine V8

Inhaltsverzeichnis 1. V8-Quelle 2. V8-Serviceziel...

Implementierung der Navigationsleiste und des Dropdown-Menüs in CSS

1. CSS-Navigationsleiste (1) Funktion der Navigat...

So bereinigen Sie regelmäßig Bilder, die über Jenkins „None“ sind

Vorwort Wenn beim kontinuierlichen Code-Delivery-...

Acht Hook-Funktionen in der Vue-Lebenszykluskamera

Inhaltsverzeichnis 1. beforeCreate und erstellte ...

Beispiel zum Hochladen eines Docker-Images in ein privates Repository

Das Image kann problemlos direkt in das öffentlic...

So zählen Sie die Anzahl bestimmter Zeichen in einer Datei unter Linux

Das Zählen der Nummer einer Zeichenfolge in einer...

So ändern Sie den Bildlaufleistenstil in Vue

Inhaltsverzeichnis Zunächst müssen Sie wissen, da...

Sprechen Sie über das Verständnis des CSS-Attributrands

1. Was ist eine Marge? Mit dem Rand wird die Abstä...

Beispielcode zur Installation von ElasticSearch und Kibana unter Docker

1. Einleitung Elasticsearch erfreut sich derzeit ...

So implementieren Sie die King of Glory-Personal-Ladeseite mit CSS3

Wer King of Glory gespielt hat, sollte mit der Wi...

Lösung für das Problem des MySQL-Master-Slave-Switch-Kanals

Nach der VIP-Konfiguration wird beim Aktiv/Standb...