Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Was sind die Docker-Basisbilder?

Was sind die Docker-Basisbilder?

青灯夜游
青灯夜游Original
2021-12-30 17:12:316220Durchsuche

Zu den Basisbildern gehören: 1. Anwendungsbilder (Nginx, Redis, Mongo, MySQL, httpd, PHP, Tomcat usw.); 2. Programmiersprachenbilder (Node, OracleJDK, OpenJDK, Python, Golang usw.); . Leere Bilder „kratzen“.

Was sind die Docker-Basisbilder?

Die Betriebsumgebung dieses Tutorials: Linux5.9.8-System, Docker-1.13.1-Version, Dell G3-Computer.

Was ist das Docker-Basis-Image?

Wir verwenden normalerweise ein Image als Basis und passen es an, welches das Basis-Image ist.

Es ist, als würde man einen nginx-Bildcontainer ausführen und dann Änderungen vornehmen. Das Basis-Image muss in DockerFile angegeben werden (FROM dient zur Angabe des Basis-Images, daher ist FROM eine notwendige Anweisung in einer Docker-Datei und muss die erste Anweisung sein)nginx 镜像的容器,再进行修改一样。在DockerFile中基础镜像是必须指定的 (FROM 就是指定 基础镜像,因此一个 Dockerfile 中 FROM 是必备的指令,并且必须是第一条指令)

比如构建一个Java应用的镜像,选择一个Oracle JDK的镜像作为基础镜像比选择一个alpine镜像作为基础镜像更方便。

Docker基础镜像都有哪些

在 Docker Hub 上有非常多的高质量的官方镜像,可以在其中寻找一个最符合我们最终目标的镜像为基础镜像进行定制。

应用镜像,如 nginxredismongomysqlhttpdphptomcat 等;

有方便开发、构建、运行各种语言应用的编程语言镜像,如 nodeoraclejdkopenjdkpythonrubygolang 等。

还有更为基础的操作系统镜像,如 ubuntudebiancentosfedoraalpine 等,这些操作系统的软件库为我们提供了更广阔的扩展空间。

除了选择现有镜像为基础镜像外,Docker 还存在一个特殊的镜像,名为 scratch。这个镜像是虚拟的概念,并不实际存在,它表示一个空白的镜像。

如果你在DockerFIle中以 scratch 为基础镜像的话(FROM scratch),意味着你不以任何镜像为基础,接下来所写的指令将作为镜像第一层开始存在。不以任何系统为基础,直接将可执行文件复制进镜像的做法并不罕见,比如 swarmcoreos/etcd。对于 Linux 下静态编译的程序来说,并不需要有操作系统提供运行时支持,所需的一切库都已经在可执行文件里了,因此直接 FROM scratchUm beispielsweise ein Java-Anwendungs-Image zu erstellen, wählen Sie eine Oracle JDK-Spiegelung als Basisbild ist praktischer als die Auswahl eines Alpenbildes als Basisbild.

Was sind die grundlegenden Docker-Bilder?

Auf Docker Hub gibt es viele hochwertige offizielle Bilder. Das beste finden Sie unter Das Bild, das unser Endziel erreicht, wird als Basisbild angepasst.

🎜Es gibt Anwendungsspiegel, wie zum Beispiel nginx, redis, mongo, mysql code>, <code>httpd, php, tomcat usw. Erstellen und Ausführen von Anwendungen in verschiedenen Sprachen, wie z. B. node, oraclejdk, openjdk, python , ruby, golang usw. 🎜🎜Es gibt auch grundlegendere Betriebssystem-Images, wie zum Beispiel ubuntu, debian, centos, Fedora, alpine usw. Die Softwarebibliotheken dieser Betriebssysteme bieten uns einen größeren Erweiterungsraum. 🎜🎜Zusätzlich zur Auswahl eines vorhandenen Images als Basis-Image verfügt Docker auch über ein spezielles Image namens scratch. Dieses Bild ist ein virtuelles Konzept und existiert nicht tatsächlich. Es stellt ein leeres Bild dar. 🎜🎜Wenn Sie scratch als Basis-Image in DockerFIle verwenden (FROM Scratch), bedeutet dies, dass Sie nicht auf einem Image basieren und die als nächstes geschriebenen Anweisungen wie folgt lauten Die erste Ebene des Bildes beginnt zu existieren. Es ist nicht ungewöhnlich, ausführbare Dateien direkt in Images zu kopieren, ohne auf einem System wie swarm, coreos/etcd zu basieren. Für statisch kompilierte Programme unter Linux ist kein Betriebssystem zur Laufzeitunterstützung erforderlich. Alle erforderlichen Bibliotheken sind bereits in der ausführbaren Datei enthalten, sodass das Image direkt von Grund auf vergrößert wird kompakt. 🎜Viele mit der Go-Sprache entwickelte Anwendungen verwenden diese Methode zum Erstellen von Bildern🎜, was einer der Gründe ist, warum manche Leute denken, dass Go eine Sprache ist, die sich besonders für die Container-Microservice-Architektur eignet. 🎜🎜Empfohlenes Lernen: „🎜Docker-Video-Tutorial🎜“🎜

Das obige ist der detaillierte Inhalt vonWas sind die Docker-Basisbilder?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn