{"id":211,"date":"2024-07-21T11:48:00","date_gmt":"2024-07-21T11:48:00","guid":{"rendered":"https:\/\/dockerpros.com\/?p=211"},"modified":"2024-07-21T11:48:00","modified_gmt":"2024-07-21T11:48:00","slug":"wie-automatisiere-ich-die-erstellung-von-docker-images","status":"publish","type":"post","link":"https:\/\/dockerpros.com\/de\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/","title":{"rendered":"Wie automatisiere ich die Erstellung von Docker-Images?"},"content":{"rendered":"<h1>Automating the Creation of Docker Images<\/h1>\n<p>In der sich st\u00e4ndig weiterentwickelnden Welt der Softwareentwicklung ist Docker zu einem Grundpfeiler f\u00fcr die Erstellung, Bereitstellung und Verwaltung von Anwendungen in Containern geworden. Eine der m\u00e4chtigsten Funktionen von Docker ist seine F\u00e4higkeit, die Erstellung von Images zu automatisieren, die alle notwendigen Komponenten f\u00fcr eine Anwendung kapseln, um <span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/run\/\" target=\"_blank\">laufen<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" bezeichnet einen Befehl in verschiedenen Programmiersprachen und Betriebssystemen, um ein angegebenes Programm oder Skript auszuf\u00fchren. Er initiiert Prozesse und stellt eine kontrollierte Ausf\u00fchrungsumgebung f\u00fcr die Aufgabenbereitstellung bereit.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>. In this article, we will explore advanced techniques to automate the creation of Docker images, ensuring that your development workflow is efficient, reproducible, and scalable.<\/p>\n<h2>Verst\u00e4ndnis von Docker-Images und Dockerfiles\n\nDocker ist eine Plattform, die es Entwicklern erm\u00f6glicht, Anwendungen in Containern zu verpacken und auszuf\u00fchren. Ein Docker-Image ist eine schreibgesch\u00fctzte Vorlage, die Anweisungen zum Erstellen eines Docker-Containers enth\u00e4lt. Ein Dockerfile ist eine Textdatei, die eine Reihe von Anweisungen enth\u00e4lt, die Docker befolgen soll, um ein Image zu erstellen.\n\nEin Docker-Image besteht aus mehreren Ebenen, von denen jede eine Anweisung aus dem Dockerfile darstellt. Wenn Sie ein Image erstellen, erstellt Docker diese Ebenen nacheinander. Jede Ebene ist nur eine Sammlung von Unterschieden zur vorherigen Ebene. Wenn Sie ein Container aus einem Image erstellen, f\u00fcgt Docker eine neue Ebene (die \"Container-Ebene\") \u00fcber dem Image hinzu. Alle \u00c4nderungen, die am laufenden Container vorgenommen werden, wie das Schreiben neuer Dateien, die \u00c4nderung vorhandener Dateien und das L\u00f6schen von Dateien, werden in dieser d\u00fcnnen Schicht der Container-Ebene geschrieben.\n\nEin Dockerfile ist eine Textdatei, die alle Befehle enth\u00e4lt, die ein Benutzer auf der Kommandozeile aufrufen k\u00f6nnte, um ein Image zu erstellen. Docker kann Images automatisch erstellen, indem es die Anweisungen aus einem Dockerfile liest. Ein Dockerfile folgt einer bestimmten Syntax und enth\u00e4lt eine Reihe von Anweisungen, die Docker befolgen soll, um ein Image zu erstellen.\n\nHier ist ein einfaches Beispiel f\u00fcr ein Dockerfile:\n\n```dockerfile\nFROM ubuntu:18.04\nCOPY . \/app\nRUN make \/app\nCMD python \/app\/app.py\n```\n\nDieses Dockerfile enth\u00e4lt vier Anweisungen: `FROM`, `COPY`, `RUN` und `CMD`. Die `FROM`-Anweisung initialisiert eine neue Build-Phase und legt das Basis-Image f\u00fcr weitere Anweisungen fest. Die `COPY`-Anweisung kopiert neue Dateien oder Verzeichnisse in das Dateisystem des Containers. Die `RUN`-Anweisung f\u00fchrt jeden beliebigen Befehl in einer neuen Ebene \u00fcber dem aktuellen Image aus und committet die Ergebnisse. Die `CMD`-Anweisung stellt den Standardbefehl f\u00fcr einen Container bereit, der aus dem Image gestartet wird.\n\nWenn Sie dieses Dockerfile ausf\u00fchren, erstellt Docker ein Image, das Ubuntu 18.04 als Basis-Image verwendet, die aktuellen Verzeichnisinhalte in das `\/app`-Verzeichnis im Container kopiert, `make` im `\/app`-Verzeichnis ausf\u00fchrt und dann `python \/app\/app.py` ausf\u00fchrt, wenn der Container gestartet wird.\n\nDocker-Images und Dockerfiles sind leistungsstarke Werkzeuge, die es Entwicklern erm\u00f6glichen, konsistente, reproduzierbare Umgebungen f\u00fcr ihre Anwendungen zu erstellen. Durch das Verst\u00e4ndnis, wie sie funktionieren, k\u00f6nnen Sie Docker effektiv nutzen, um Ihre Anwendungen zu verpacken und bereitzustellen.<\/h2>\n<p>Bevor Sie sich mit der Automatisierung befassen, ist es wichtig, das Konzept von Docker-Images zu verstehen und wie sie mithilfe von Dockerfiles erstellt werden. <\/p>\n<h3>What is a Docker Image?<\/h3>\n<p>Ein Docker <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/image\/\" target=\"_blank\">Bild<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Ein Bild ist eine visuelle Darstellung eines Objekts oder einer Szene, die typischerweise aus Pixeln in digitalen Formaten besteht. Es kann Informationen vermitteln, Emotionen hervorrufen und die Kommunikation \u00fcber verschiedene Medien hinweg erleichtern.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> is essentially a snapshot of a filesystem that includes everything needed to <span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/run\/\" target=\"_blank\">laufen<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" bezeichnet einen Befehl in verschiedenen Programmiersprachen und Betriebssystemen, um ein angegebenes Programm oder Skript auszuf\u00fchren. Er initiiert Prozesse und stellt eine kontrollierte Ausf\u00fchrungsumgebung f\u00fcr die Aufgabenbereitstellung bereit.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> an application: code, libraries, dependencies, and environment variables. Images are built using a series of instructions defined in a <span class=\"glossaryai-tooltip glossary-term-652\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/dockerfile\/\" target=\"_blank\">Dockerfile<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Eine Dockerfile ist ein Skript, das eine Reihe von Anweisungen zur Automatisierung der Erstellung von Docker-Images enth\u00e4lt. Sie gibt das Basis-Image, die Anwendungsabh\u00e4ngigkeiten und die Konfiguration an und erm\u00f6glicht so eine konsistente Bereitstellung \u00fcber verschiedene Umgebungen hinweg.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/dockerfile\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>.<\/p>\n<h3>What is a Dockerfile?<\/h3>\n<p>A <span class=\"glossaryai-tooltip glossary-term-652\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/dockerfile\/\" target=\"_blank\">Dockerfile<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Eine Dockerfile ist ein Skript, das eine Reihe von Anweisungen zur Automatisierung der Erstellung von Docker-Images enth\u00e4lt. Sie gibt das Basis-Image, die Anwendungsabh\u00e4ngigkeiten und die Konfiguration an und erm\u00f6glicht so eine konsistente Bereitstellung \u00fcber verschiedene Umgebungen hinweg.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/dockerfile\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> is a text file that contains a set of instructions for building a Docker <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/image\/\" target=\"_blank\">Bild<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Ein Bild ist eine visuelle Darstellung eines Objekts oder einer Szene, die typischerweise aus Pixeln in digitalen Formaten besteht. Es kann Informationen vermitteln, Emotionen hervorrufen und die Kommunikation \u00fcber verschiedene Medien hinweg erleichtern.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>. Each instruction in the <span class=\"glossaryai-tooltip glossary-term-652\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/dockerfile\/\" target=\"_blank\">Dockerfile<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Eine Dockerfile ist ein Skript, das eine Reihe von Anweisungen zur Automatisierung der Erstellung von Docker-Images enth\u00e4lt. Sie gibt das Basis-Image, die Anwendungsabh\u00e4ngigkeiten und die Konfiguration an und erm\u00f6glicht so eine konsistente Bereitstellung \u00fcber verschiedene Umgebungen hinweg.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/dockerfile\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> corresponds to a layer in the final <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/image\/\" target=\"_blank\">Bild<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Ein Bild ist eine visuelle Darstellung eines Objekts oder einer Szene, die typischerweise aus Pixeln in digitalen Formaten besteht. Es kann Informationen vermitteln, Emotionen hervorrufen und die Kommunikation \u00fcber verschiedene Medien hinweg erleichtern.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>, allowing Docker to cache layers for efficiency. A typical <span class=\"glossaryai-tooltip glossary-term-652\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/dockerfile\/\" target=\"_blank\">Dockerfile<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Eine Dockerfile ist ein Skript, das eine Reihe von Anweisungen zur Automatisierung der Erstellung von Docker-Images enth\u00e4lt. Sie gibt das Basis-Image, die Anwendungsabh\u00e4ngigkeiten und die Konfiguration an und erm\u00f6glicht so eine konsistente Bereitstellung \u00fcber verschiedene Umgebungen hinweg.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/dockerfile\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> might contain instructions for setting the base <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/image\/\" target=\"_blank\">Bild<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Ein Bild ist eine visuelle Darstellung eines Objekts oder einer Szene, die typischerweise aus Pixeln in digitalen Formaten besteht. Es kann Informationen vermitteln, Emotionen hervorrufen und die Kommunikation \u00fcber verschiedene Medien hinweg erleichtern.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>, copying files, installing packages, and defining commands to <span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/run\/\" target=\"_blank\">laufen<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" bezeichnet einen Befehl in verschiedenen Programmiersprachen und Betriebssystemen, um ein angegebenes Programm oder Skript auszuf\u00fchren. Er initiiert Prozesse und stellt eine kontrollierte Ausf\u00fchrungsumgebung f\u00fcr die Aufgabenbereitstellung bereit.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>.<\/p>\n<h2>The Need for Automation<\/h2>\n<p>Die manuelle Erstellung von Docker-Images kann m\u00fchsam und fehleranf\u00e4llig sein, insbesondere bei komplexen Anwendungen mit mehreren Abh\u00e4ngigkeiten. Die Automatisierung rationalisiert diesen Prozess, gew\u00e4hrleistet Konsistenz bei den Builds und reduziert menschliche Fehler. Dar\u00fcber hinaus erm\u00f6glicht die Automatisierung kontinuierliche Integrations- und kontinuierliche Bereitstellungspraktiken (CI\/CD), was die Bereitstellung von Anwendungen im gro\u00dfen Ma\u00dfstab erleichtert.<\/p>\n<h2>Voraussetzungen f\u00fcr die Automatisierung der Docker-Image-Erstellung\n\nUm Docker-Images automatisch zu erstellen, m\u00fcssen Sie die folgenden Voraussetzungen erf\u00fcllen:\n\n1. Docker-Installation: Stellen Sie sicher, dass Docker auf Ihrem System installiert und konfiguriert ist. Sie k\u00f6nnen Docker von der offiziellen Website herunterladen und installieren.\n\n2. Dockerfile: Erstellen Sie eine Dockerfile-Datei, die die Anweisungen f\u00fcr den Aufbau Ihres Images enth\u00e4lt. Die Dockerfile-Datei sollte im selben Verzeichnis wie Ihre Anwendung liegen.\n\n3. Anwendungscode: Stellen Sie sicher, dass Ihr Anwendungscode in einem Git-Repository gespeichert ist. Sie k\u00f6nnen GitHub, GitLab oder einen anderen Git-Hosting-Dienst verwenden.\n\n4. CI\/CD-Pipeline: Richten Sie eine CI\/CD-Pipeline ein, um den Build- und Bereitstellungsprozess zu automatisieren. Sie k\u00f6nnen Tools wie Jenkins, GitLab CI\/CD oder GitHub Actions verwenden.\n\n5. Docker-Registry: Erstellen Sie eine Docker-Registry, um Ihre Images zu speichern und zu verteilen. Sie k\u00f6nnen Docker Hub, Amazon ECR oder Google Container Registry verwenden.\n\n6. Automatisierungsskripte: Schreiben Sie Automatisierungsskripte, um den Build- und Bereitstellungsprozess zu automatisieren. Sie k\u00f6nnen Bash-Skripte, Python-Skripte oder andere Skriptsprachen verwenden.\n\n7. \u00dcberwachung und Protokollierung: Richten Sie \u00dcberwachungs- und Protokollierungstools ein, um den Status Ihrer Images und Container zu \u00fcberwachen. Sie k\u00f6nnen Tools wie Prometheus, Grafana oder ELK Stack verwenden.\n\n8. Sicherheit: Stellen Sie sicher, dass Ihre Images und Container sicher sind. Verwenden Sie Sicherheits-Tools wie Docker Security Scanning oder Clair, um Schwachstellen zu erkennen und zu beheben.\n\n9. Skalierbarkeit: Stellen Sie sicher, dass Ihre Images und Container skalierbar sind. Verwenden Sie Tools wie Kubernetes oder Docker Swarm, um Ihre Container zu orchestrieren und zu skalieren.\n\n10. Dokumentation: Dokumentieren Sie Ihren Build- und Bereitstellungsprozess, um sicherzustellen, dass andere Entwickler ihn verstehen und reproduzieren k\u00f6nnen.<\/h2>\n<p>Before automating the creation of Docker images, you should have the following in place:<\/p>\n<ol>\n<li><strong>Docker Installiert<\/strong>: Ensure Docker is installed and running on your machine or CI\/CD server.<\/li>\n<li><strong>Versionskontrollsystem<\/strong>: Utilize a version control system like Git to manage your Dockerfiles and application code.<\/li>\n<li><strong>CI\/CD-Tool<\/strong>: Familiarize yourself with a CI\/CD tool such as Jenkins, GitLab CI, or GitHub Actions.<\/li>\n<li><strong><span class=\"glossaryai-tooltip glossary-term-736\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/docker-registry\/\" target=\"_blank\">Docker Registry<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Eine Docker-Registry ist ein Speicher- und Verteilungssystem f\u00fcr Docker-Images. Sie erm\u00f6glicht es Entwicklern, Container-Images hochzuladen, zu verwalten und zu teilen, was eine effiziente Bereitstellung in verschiedenen Umgebungen erleichtert.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/docker-registry\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span><\/strong>: Set up a <span class=\"glossaryai-tooltip glossary-term-736\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/docker-registry\/\" target=\"_blank\">Docker-Registry<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Eine Docker-Registry ist ein Speicher- und Verteilungssystem f\u00fcr Docker-Images. Sie erm\u00f6glicht es Entwicklern, Container-Images hochzuladen, zu verwalten und zu teilen, was eine effiziente Bereitstellung in verschiedenen Umgebungen erleichtert.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/docker-registry\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> wie <span class=\"glossaryai-tooltip glossary-term-653\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/docker-hub\/\" target=\"_blank\">Docker Hub<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Docker Hub is a cloud-based repository for storing and sharing container images. It facilitates version control, collaborative development, and seamless integration with Docker CLI for efficient container management.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/docker-hub\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> oder ein <span class=\"glossaryai-tooltip glossary-term-737\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/private-registry\/\" target=\"_blank\">private registry<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Eine private Registry ist ein sicheres Repository zur Verwaltung und Speicherung von Container-Images, das es Organisationen erm\u00f6glicht, den Zugriff zu kontrollieren, die Sicherheit zu erh\u00f6hen und Bereitstellungsprozesse innerhalb ihrer Infrastruktur zu optimieren.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/private-registry\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>) to store your built images.<\/li>\n<\/ol>\n<h2>Automatisierung der Docker-Image-Erstellung mit Dockerfile-Best Practices<\/h2>\n<h3>1. Strukturieren Ihrer Dockerfile<\/h3>\n<p>A well-structured <span class=\"glossaryai-tooltip glossary-term-652\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/dockerfile\/\" target=\"_blank\">Dockerfile<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Eine Dockerfile ist ein Skript, das eine Reihe von Anweisungen zur Automatisierung der Erstellung von Docker-Images enth\u00e4lt. Sie gibt das Basis-Image, die Anwendungsabh\u00e4ngigkeiten und die Konfiguration an und erm\u00f6glicht so eine konsistente Bereitstellung \u00fcber verschiedene Umgebungen hinweg.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/dockerfile\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> is crucial for effective automation. Here are some best practices:<\/p>\n<ul>\n<li>\n<p><strong>Verwenden Sie offizielle Basis-Images.<\/strong>: Start with official base images from <span class=\"glossaryai-tooltip glossary-term-653\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/docker-hub\/\" target=\"_blank\">Docker Hub<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Docker Hub is a cloud-based repository for storing and sharing container images. It facilitates version control, collaborative development, and seamless integration with Docker CLI for efficient container management.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/docker-hub\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> to ensure security and reliability.<\/p>\n<pre><code class=\"language-dockerfile\">VON python:3.9-slim<\/code><\/pre>\n<\/li>\n<li>\n<p><strong>Minimize Layers<\/strong>: Combine commands using <code>&amp;&amp;<\/code> to reduce the number of layers in your <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/image\/\" target=\"_blank\">Bild<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Ein Bild ist eine visuelle Darstellung eines Objekts oder einer Szene, die typischerweise aus Pixeln in digitalen Formaten besteht. Es kann Informationen vermitteln, Emotionen hervorrufen und die Kommunikation \u00fcber verschiedene Medien hinweg erleichtern.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>. This not only minimizes <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/image\/\" target=\"_blank\">Bild<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Ein Bild ist eine visuelle Darstellung eines Objekts oder einer Szene, die typischerweise aus Pixeln in digitalen Formaten besteht. Es kann Informationen vermitteln, Emotionen hervorrufen und die Kommunikation \u00fcber verschiedene Medien hinweg erleichtern.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> size but also improves build speed.<\/p>\n<pre><code class=\"language-dockerfile\"><span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/run\/\" target=\"_blank\">RUN<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" bezeichnet einen Befehl in verschiedenen Programmiersprachen und Betriebssystemen, um ein angegebenes Programm oder Skript auszuf\u00fchren. Er initiiert Prozesse und stellt eine kontrollierte Ausf\u00fchrungsumgebung f\u00fcr die Aufgabenbereitstellung bereit.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> apt-get update &amp;&amp; apt-get install -y \n  curl \n  vim \n  &amp;&amp; rm -rf \/var\/lib\/apt\/lists\/*<\/code><\/pre>\n<\/li>\n<li>\n<p><strong>Cache nutzen<\/strong>: Structure your <span class=\"glossaryai-tooltip glossary-term-652\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/dockerfile\/\" target=\"_blank\">Dockerfile<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Eine Dockerfile ist ein Skript, das eine Reihe von Anweisungen zur Automatisierung der Erstellung von Docker-Images enth\u00e4lt. Sie gibt das Basis-Image, die Anwendungsabh\u00e4ngigkeiten und die Konfiguration an und erm\u00f6glicht so eine konsistente Bereitstellung \u00fcber verschiedene Umgebungen hinweg.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/dockerfile\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> to maximize the cache. Place less frequently changing commands at the top and more frequently changing ones at the bottom.<\/p>\n<\/li>\n<\/ul>\n<h3>2. Versioning and Tagging Images<\/h3>\n<p>Automate the versioning and tagging of your Docker images. This can be accomplished using build arguments or environment variables.<\/p>\n<pre><code class=\"language-dockerfile\"><span class=\"glossaryai-tooltip glossary-term-679\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/arg\/\" target=\"_blank\">Argentinien<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">ARG ist eine Anweisung, die in Dockerfiles verwendet wird, um Build-Zeit-Variablen zu definieren, die es erm\u00f6glichen, Ihre Builds zu parametrisieren. Diese Variablen k\u00f6nnen beeinflussen, wie ein Image erstellt wird, und erm\u00f6glichen es Entwicklern, flexiblere und wiederverwendbare Docker-Images zu erstellen.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/arg\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> VERSION=latest\n<span class=\"glossaryai-tooltip glossary-term-678\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/label\/\" target=\"_blank\">ETIKETT<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">In data management and classification systems, a \"label\" serves as a descriptor that categorizes and identifies items. Labels enhance data organization, facilitate retrieval, and improve understanding within complex datasets.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/label\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> Version=${VERSION}<\/code><\/pre>\n<p>In Ihrer CI\/CD-Pipeline k\u00f6nnen Sie die <code>VERSION<\/code> argument dynamically based on the commit hash or semantic versioning.<\/p>\n<h3>3. Secrets Management<\/h3>\n<p>Das Verwalten von Geheimnissen ist f\u00fcr die Sicherheit entscheidend. Verwenden Sie Docker Secrets oder Umgebungsvariablen, um sensible Daten wie <span class=\"glossaryai-tooltip glossary-term-1249\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/api\/\" target=\"_blank\">API<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Eine API, oder Anwendungsprogrammierschnittstelle, erm\u00f6glicht es Softwareanwendungen, miteinander zu kommunizieren und zu interagieren. Sie definiert Protokolle und Werkzeuge f\u00fcr die Entwicklung von Software und die Erleichterung der Integration.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/api\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> keys and database credentials. Avoid hardcoding secrets into your <span class=\"glossaryai-tooltip glossary-term-652\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/dockerfile\/\" target=\"_blank\">Dockerfile<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Eine Dockerfile ist ein Skript, das eine Reihe von Anweisungen zur Automatisierung der Erstellung von Docker-Images enth\u00e4lt. Sie gibt das Basis-Image, die Anwendungsabh\u00e4ngigkeiten und die Konfiguration an und erm\u00f6glicht so eine konsistente Bereitstellung \u00fcber verschiedene Umgebungen hinweg.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/dockerfile\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>.<\/p>\n<pre><code class=\"language-dockerfile\"><span class=\"glossaryai-tooltip glossary-term-671\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/env\/\" target=\"_blank\">UMGEBUNG<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">ENV, oder Umgebungsvariablen, sind in der Softwareentwicklung und Systemkonfiguration von entscheidender Bedeutung. Sie speichern dynamische Werte, die die Ausf\u00fchrungsumgebung beeinflussen und erm\u00f6glichen so ein flexibles Anwendungsverhalten \u00fcber verschiedene Plattformen hinweg.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/env\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> DATABASE_PASSWORD=${DATABASE_PASSWORD}<\/code><\/pre>\n<h3>4. Mehrstufige Builds<\/h3>\n<p>Multi-stage builds allow you to create smaller, more efficient images by separating the build environment from the runtime environment. This technique can significantly reduce the size of the final <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/image\/\" target=\"_blank\">Bild<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Ein Bild ist eine visuelle Darstellung eines Objekts oder einer Szene, die typischerweise aus Pixeln in digitalen Formaten besteht. Es kann Informationen vermitteln, Emotionen hervorrufen und die Kommunikation \u00fcber verschiedene Medien hinweg erleichtern.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>.<\/p>\n<pre><code class=\"language-dockerfile\"># Build-Stufe FROM <span class=\"glossaryai-tooltip glossary-term-684\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/node\/\" target=\"_blank\">node<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Node, or Node.js, is a JavaScript runtime built on Chrome's V8 engine, enabling server-side scripting. It allows developers to build scalable network applications using asynchronous, event-driven architecture.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/node\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>:14 AS Erbauer\n<span class=\"glossaryai-tooltip glossary-term-675\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/workdir\/\" target=\"_blank\">Arbeitsverzeichnis<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Die `WORKDIR`-Anweisung in einer Dockerfile legt das Arbeitsverzeichnis f\u00fcr nachfolgende Anweisungen fest. Sie vereinfacht die Pfadverwaltung, da alle relativen Pfade von diesem Verzeichnis aus aufgel\u00f6st werden, und verbessert so die \u00dcbersichtlichkeit des Builds.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/workdir\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> \/app\n<span class=\"glossaryai-tooltip glossary-term-673\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/copy\/\" target=\"_blank\">KOPIE<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">COPY ist ein Befehl in der Computerprogrammierung und Datenverwaltung, der das Kopieren von Dateien oder Daten von einem Ort an einen anderen erm\u00f6glicht und dabei die Datenintegrit\u00e4t und -zug\u00e4nglichkeit gew\u00e4hrleistet.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/copy\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> package.json .\n<span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/run\/\" target=\"_blank\">RUN<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" bezeichnet einen Befehl in verschiedenen Programmiersprachen und Betriebssystemen, um ein angegebenes Programm oder Skript auszuf\u00fchren. Er initiiert Prozesse und stellt eine kontrollierte Ausf\u00fchrungsumgebung f\u00fcr die Aufgabenbereitstellung bereit.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> npm install\n<span class=\"glossaryai-tooltip glossary-term-673\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/copy\/\" target=\"_blank\">KOPIE<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">COPY ist ein Befehl in der Computerprogrammierung und Datenverwaltung, der das Kopieren von Dateien oder Daten von einem Ort an einen anderen erm\u00f6glicht und dabei die Datenintegrit\u00e4t und -zug\u00e4nglichkeit gew\u00e4hrleistet.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/copy\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> . .\n<span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/run\/\" target=\"_blank\">RUN<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" bezeichnet einen Befehl in verschiedenen Programmiersprachen und Betriebssystemen, um ein angegebenes Programm oder Skript auszuf\u00fchren. Er initiiert Prozesse und stellt eine kontrollierte Ausf\u00fchrungsumgebung f\u00fcr die Aufgabenbereitstellung bereit.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> Node-Paketmanager <span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/run\/\" target=\"_blank\">laufen<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" bezeichnet einen Befehl in verschiedenen Programmiersprachen und Betriebssystemen, um ein angegebenes Programm oder Skript auszuf\u00fchren. Er initiiert Prozesse und stellt eine kontrollierte Ausf\u00fchrungsumgebung f\u00fcr die Aufgabenbereitstellung bereit.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> build\n\n# Production Stage\nFROM nginx:alpine\n<span class=\"glossaryai-tooltip glossary-term-673\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/copy\/\" target=\"_blank\">KOPIE<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">COPY ist ein Befehl in der Computerprogrammierung und Datenverwaltung, der das Kopieren von Dateien oder Daten von einem Ort an einen anderen erm\u00f6glicht und dabei die Datenintegrit\u00e4t und -zug\u00e4nglichkeit gew\u00e4hrleistet.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/copy\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> --from=builder \/app\/dist \/usr\/share\/nginx\/html<\/code><\/pre>\n<h2>Implementing CI\/CD for Automated Image Creation<\/h2>\n<h3>1. GitHub Actions verwenden<\/h3>\n<p>GitHub Actions is a powerful CI\/CD tool that allows you to automate the build and deployment of Docker images. Here\u2019s a step-by-step guide to create a workflow:<\/p>\n<h4>Schritt 1: Erstellen Sie eine Workflow-Datei<\/h4>\n<p>In Ihrem <span class=\"glossaryai-tooltip glossary-term-659\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/repository\/\" target=\"_blank\">repository<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Ein Repository ist ein zentraler Ort, an dem Daten, Code oder Dokumente gespeichert, verwaltet und gepflegt werden. Es erleichtert die Versionskontrolle, Zusammenarbeit und effiziente Ressourcennutzung unter den Benutzern.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/repository\/\">More \u00bb<\/a><\/span><\/span><span class=\"gai-tooltip-video-wrapper\"><span class=\"gai-tooltip-video\" data-src=\"https:\/\/www.youtube.com\/embed\/_OXj8BGxNPY?rel=0&#038;modestbranding=1\"><\/span><\/span><\/span><\/span><\/span>, create a file named <code>.github\/workflows\/docker-image.yml<\/code>.<\/p>\n<h4>Schritt 2: Definieren Sie den Workflow<\/h4>\n<p>Here\u2019s an example workflow that builds a Docker <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/image\/\" target=\"_blank\">Bild<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Ein Bild ist eine visuelle Darstellung eines Objekts oder einer Szene, die typischerweise aus Pixeln in digitalen Formaten besteht. Es kann Informationen vermitteln, Emotionen hervorrufen und die Kommunikation \u00fcber verschiedene Medien hinweg erleichtern.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> and pushes it to <span class=\"glossaryai-tooltip glossary-term-653\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/docker-hub\/\" target=\"_blank\">Docker Hub<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Docker Hub is a cloud-based repository for storing and sharing container images. It facilitates version control, collaborative development, and seamless integration with Docker CLI for efficient container management.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/docker-hub\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>:<\/p>\n<pre><code class=\"language-yaml\">name: Build and Push Docker Image\n\non:\n  push:\n    branches:\n      - main\n\njobs:\n  build:\n    runs-on: ubuntu-latest\n\n    steps:\n      - name: Checkout code\n        uses: actions\/checkout@v2\n\n      - name: Log in to Docker Hub\n        uses: docker\/login-action@v1\n        with:\n          username: ${{ secrets.DOCKER_USERNAME }}\n          password: ${{ secrets.DOCKER_PASSWORD }}\n\n      - name: Build the Docker image\n        <span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/run\/\" target=\"_blank\">laufen<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" bezeichnet einen Befehl in verschiedenen Programmiersprachen und Betriebssystemen, um ein angegebenes Programm oder Skript auszuf\u00fchren. Er initiiert Prozesse und stellt eine kontrollierte Ausf\u00fchrungsumgebung f\u00fcr die Aufgabenbereitstellung bereit.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>: docker build . -t my-image:${{ github.sha }}\n\n      - name: Push the Docker image\n        <span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/run\/\" target=\"_blank\">laufen<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" bezeichnet einen Befehl in verschiedenen Programmiersprachen und Betriebssystemen, um ein angegebenes Programm oder Skript auszuf\u00fchren. Er initiiert Prozesse und stellt eine kontrollierte Ausf\u00fchrungsumgebung f\u00fcr die Aufgabenbereitstellung bereit.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>: docker push my-image:${{ github.sha }}<\/code><\/pre>\n<h4>Schritt 3: Geheimnisse einrichten<\/h4>\n<p>In your GitHub <span class=\"glossaryai-tooltip glossary-term-659\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/repository\/\" target=\"_blank\">repository<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Ein Repository ist ein zentraler Ort, an dem Daten, Code oder Dokumente gespeichert, verwaltet und gepflegt werden. Es erleichtert die Versionskontrolle, Zusammenarbeit und effiziente Ressourcennutzung unter den Benutzern.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/repository\/\">More \u00bb<\/a><\/span><\/span><span class=\"gai-tooltip-video-wrapper\"><span class=\"gai-tooltip-video\" data-src=\"https:\/\/www.youtube.com\/embed\/_OXj8BGxNPY?rel=0&#038;modestbranding=1\"><\/span><\/span><\/span><\/span><\/span>, navigate to <strong>Einstellungen &gt; Geheimnisse<\/strong> and <span class=\"glossaryai-tooltip glossary-term-674\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/add\/\" target=\"_blank\">add<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Die ADD-Anweisung in Docker ist ein Befehl, der in Dockerfiles verwendet wird, um Dateien und Verzeichnisse von einem Host-Computer in ein Docker-Image w\u00e4hrend des Build-Prozesses zu kopieren. Sie erm\u00f6glicht nicht nur den Transfer lokaler Dateien, sondern bietet auch zus\u00e4tzliche Funktionen, wie das automatische Extrahieren komprimierter Dateien und das Abrufen von Remote-Dateien \u00fcber HTTP oder HTTPS.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/add\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> <code>DOCKER_USERNAME<\/code> and <code>DOCKER_PASSWORD<\/code> for authentication with <span class=\"glossaryai-tooltip glossary-term-653\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/docker-hub\/\" target=\"_blank\">Docker Hub<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Docker Hub is a cloud-based repository for storing and sharing container images. It facilitates version control, collaborative development, and seamless integration with Docker CLI for efficient container management.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/docker-hub\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>.<\/p>\n<h3>2. Mit GitLab CI\/CD<\/h3>\n<p>If you are using GitLab, the process is also straightforward. Here\u2019s how to set it up:<\/p>\n<h4>Schritt 1: Erstellen Sie eine <code>.gitlab-ci.yml<\/code> File<\/h4>\n<p>In the root of your <span class=\"glossaryai-tooltip glossary-term-659\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/repository\/\" target=\"_blank\">repository<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Ein Repository ist ein zentraler Ort, an dem Daten, Code oder Dokumente gespeichert, verwaltet und gepflegt werden. Es erleichtert die Versionskontrolle, Zusammenarbeit und effiziente Ressourcennutzung unter den Benutzern.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/repository\/\">More \u00bb<\/a><\/span><\/span><span class=\"gai-tooltip-video-wrapper\"><span class=\"gai-tooltip-video\" data-src=\"https:\/\/www.youtube.com\/embed\/_OXj8BGxNPY?rel=0&#038;modestbranding=1\"><\/span><\/span><\/span><\/span><\/span>, create a file named <code>.gitlab-ci.yml<\/code>.<\/p>\n<h4>Schritt 2: Definieren der CI\/CD-Pipeline<\/h4>\n<p>Hier ist ein Beispiel f\u00fcr eine GitLab CI\/CD-Pipeline:<\/p>\n<pre><code class=\"language-yaml\">stages:\n  - build\n  - deploy\n\nbuild:\n  stage: build\n  image: docker:latest\n  services:\n    - docker:dind\n  script:\n    - docker build -t my-image:$CI_COMMIT_SHORT_SHA .\n    - echo \"$DOCKER_PASSWORD\" | docker login -u \"$DOCKER_USERNAME\" --password-stdin\n    - docker push my-image:$CI_COMMIT_SHORT_SHA<\/code><\/pre>\n<h4>Schritt 3: CI\/CD-Variablen einrichten<\/h4>\n<p>In your GitLab <span class=\"glossaryai-tooltip glossary-term-659\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/repository\/\" target=\"_blank\">repository<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Ein Repository ist ein zentraler Ort, an dem Daten, Code oder Dokumente gespeichert, verwaltet und gepflegt werden. Es erleichtert die Versionskontrolle, Zusammenarbeit und effiziente Ressourcennutzung unter den Benutzern.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/repository\/\">More \u00bb<\/a><\/span><\/span><span class=\"gai-tooltip-video-wrapper\"><span class=\"gai-tooltip-video\" data-src=\"https:\/\/www.youtube.com\/embed\/_OXj8BGxNPY?rel=0&#038;modestbranding=1\"><\/span><\/span><\/span><\/span><\/span>, navigate to <strong>Settings &gt; CI \/ CD &gt; Variables<\/strong> and <span class=\"glossaryai-tooltip glossary-term-674\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/add\/\" target=\"_blank\">add<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Die ADD-Anweisung in Docker ist ein Befehl, der in Dockerfiles verwendet wird, um Dateien und Verzeichnisse von einem Host-Computer in ein Docker-Image w\u00e4hrend des Build-Prozesses zu kopieren. Sie erm\u00f6glicht nicht nur den Transfer lokaler Dateien, sondern bietet auch zus\u00e4tzliche Funktionen, wie das automatische Extrahieren komprimierter Dateien und das Abrufen von Remote-Dateien \u00fcber HTTP oder HTTPS.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/add\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> <code>DOCKER_USERNAME<\/code> and <code>DOCKER_PASSWORD<\/code>.<\/p>\n<h2>Advanced Techniques for Docker Image Automation<\/h2>\n<h3>1. Automated Testing of Docker Images<\/h3>\n<p>Bevor Docker-Images in der Produktion eingesetzt werden, ist es entscheidend, ihre Zuverl\u00e4ssigkeit durch automatisierte Tests sicherzustellen. Sie k\u00f6nnen Tests in Ihre CI\/CD-Pipeline integrieren, indem Sie Tools wie folgende verwenden:<\/p>\n<ul>\n<li><strong><span class=\"glossaryai-tooltip glossary-term-654\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/docker-compose\/\" target=\"_blank\">Docker Compose<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Docker Compose ist ein Werkzeug zur Definition und Ausf\u00fchrung von Multi-Container-Docker-Anwendungen mithilfe einer YAML-Datei. Es vereinfacht die Bereitstellung, Konfiguration und Orchestrierung von Diensten und verbessert die Entwicklungseffizienz.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/docker-compose\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span><\/strong>Zur Integrationstests von Multi-Container-Anwendungen.<\/li>\n<li><strong>Testcontainer<\/strong>: F\u00fcr das Ausf\u00fchren von Tests in leichtgewichtigen, wiederverwertbaren Containern.<\/li>\n<\/ul>\n<h3>2. Bild-Scanning auf Schwachstellen<\/h3>\n<p>Automate <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/image\/\" target=\"_blank\">Bild<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Ein Bild ist eine visuelle Darstellung eines Objekts oder einer Szene, die typischerweise aus Pixeln in digitalen Formaten besteht. Es kann Informationen vermitteln, Emotionen hervorrufen und die Kommunikation \u00fcber verschiedene Medien hinweg erleichtern.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> scanning to identify vulnerabilities in your Docker images. Tools like <strong>Trivy<\/strong> or <strong>Clair<\/strong> kann in Ihre CI\/CD-Pipeline integriert werden, um Images zu scannen, bevor sie in die Produktion geschoben werden.<\/p>\n<pre><code class=\"language-yaml\"># Example step for <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/image\/\" target=\"_blank\">Bild<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Ein Bild ist eine visuelle Darstellung eines Objekts oder einer Szene, die typischerweise aus Pixeln in digitalen Formaten besteht. Es kann Informationen vermitteln, Emotionen hervorrufen und die Kommunikation \u00fcber verschiedene Medien hinweg erleichtern.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> scanning using Trivy\n- name: Scan Docker image\n  <span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/run\/\" target=\"_blank\">laufen<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" bezeichnet einen Befehl in verschiedenen Programmiersprachen und Betriebssystemen, um ein angegebenes Programm oder Skript auszuf\u00fchren. Er initiiert Prozesse und stellt eine kontrollierte Ausf\u00fchrungsumgebung f\u00fcr die Aufgabenbereitstellung bereit.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>: trivy <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/image\/\" target=\"_blank\">Bild<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Ein Bild ist eine visuelle Darstellung eines Objekts oder einer Szene, die typischerweise aus Pixeln in digitalen Formaten besteht. Es kann Informationen vermitteln, Emotionen hervorrufen und die Kommunikation \u00fcber verschiedene Medien hinweg erleichtern.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> my-image:${{ github.sha }}<\/code><\/pre>\n<h3>3. Abh\u00e4ngigkeiten automatisch aktualisieren<\/h3>\n<p>Verwenden Sie Tools wie <strong>Renovieren<\/strong> or <strong>Dependabot<\/strong> to automate the process of keeping dependencies up to date. This can lead to fewer vulnerabilities and a more stable environment.<\/p>\n<h2>Zusammenfassung<\/h2>\n<p>Automating the creation of Docker images is a vital step in modern DevOps practices. By leveraging Dockerfiles, CI\/CD tools, and advanced techniques, you can create a robust, efficient, and secure workflow that enhances your development and deployment processes. <\/p>\n<p>Die Implementierung dieser Best Practices spart nicht nur Zeit, sondern stellt auch sicher, dass Ihre Anwendungen konsistent und zuverl\u00e4ssig erstellt und bereitgestellt werden. Wenn Ihre Projekte wachsen und sich weiterentwickeln, sollten sich auch Ihre Automatisierungsstrategien weiterentwickeln und an neue Tools und Technologien anpassen, die Ihre Arbeitsabl\u00e4ufe weiter optimieren k\u00f6nnen.<\/p>","protected":false},"excerpt":{"rendered":"<p>Automatisierung von Docker <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/image\/\" target=\"_blank\">Bild<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Ein Bild ist eine visuelle Darstellung eines Objekts oder einer Szene, die typischerweise aus Pixeln in digitalen Formaten besteht. Es kann Informationen vermitteln, Emotionen hervorrufen und die Kommunikation \u00fcber verschiedene Medien hinweg erleichtern.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> Dies optimiert Entwicklungsprozesse. Nutzen Sie Dockerfiles f\u00fcr konsistente Builds und integrieren Sie CI\/CD-Tools wie Jenkins oder GitHub Actions f\u00fcr automatisierte Workflows.<\/p>","protected":false},"author":1,"featured_media":314,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20],"tags":[],"class_list":["post-211","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-deployment-and-orchestration"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How do I automate the creation of Docker images? - Dockerpros<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/dockerpros.com\/de\/bereitstellung-und-orchestrierung\/wie-automatisiere-ich-die-erstellung-von-docker-images\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How do I automate the creation of Docker images? - Dockerpros\" \/>\n<meta property=\"og:description\" content=\"Automating Docker image creation streamlines development processes. Utilize Dockerfiles for consistent builds, integrate CI\/CD tools like Jenkins or GitHub Actions for automated workflows.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dockerpros.com\/de\/bereitstellung-und-orchestrierung\/wie-automatisiere-ich-die-erstellung-von-docker-images\/\" \/>\n<meta property=\"og:site_name\" content=\"Dockerpros\" \/>\n<meta property=\"article:published_time\" content=\"2024-07-21T11:48:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/how-do-i-automate-the-creation-of-docker-images_211.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"dockerpros\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"dockerpros\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"6\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/\"},\"author\":{\"name\":\"dockerpros\",\"@id\":\"https:\/\/dockerpros.com\/#\/schema\/person\/a9b4c3d7f7a8e2b072e77d47b382a3a4\"},\"headline\":\"How do I automate the creation of Docker images?\",\"datePublished\":\"2024-07-21T11:48:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/\"},\"wordCount\":923,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/dockerpros.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/how-do-i-automate-the-creation-of-docker-images_211.jpg\",\"articleSection\":[\"Deployment and Orchestration\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/\",\"url\":\"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/\",\"name\":\"How do I automate the creation of Docker images? - Dockerpros\",\"isPartOf\":{\"@id\":\"https:\/\/dockerpros.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/how-do-i-automate-the-creation-of-docker-images_211.jpg\",\"datePublished\":\"2024-07-21T11:48:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/#primaryimage\",\"url\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/how-do-i-automate-the-creation-of-docker-images_211.jpg\",\"contentUrl\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/how-do-i-automate-the-creation-of-docker-images_211.jpg\",\"width\":800,\"height\":600,\"caption\":\"how-do-i-automate-the-creation-of-docker-images-2\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/dockerpros.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How do I automate the creation of Docker images?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/dockerpros.com\/#website\",\"url\":\"https:\/\/dockerpros.com\/\",\"name\":\"Dockerpros\",\"description\":\"DockerPros \u2013 Your Ultimate Docker Resource Hub\",\"publisher\":{\"@id\":\"https:\/\/dockerpros.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/dockerpros.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/dockerpros.com\/#organization\",\"name\":\"Dockerpros\",\"url\":\"https:\/\/dockerpros.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/dockerpros.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/Dockerpros_logo_blanco.png\",\"contentUrl\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/Dockerpros_logo_blanco.png\",\"width\":532,\"height\":114,\"caption\":\"Dockerpros\"},\"image\":{\"@id\":\"https:\/\/dockerpros.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/dockerpros.com\/#\/schema\/person\/a9b4c3d7f7a8e2b072e77d47b382a3a4\",\"name\":\"dockerpros\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/dockerpros.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/dockerpros.com\/wp-content\/litespeed\/avatar\/d13b9d4f101de1a7535b404e0c59affd.jpg?ver=1779972442\",\"contentUrl\":\"https:\/\/dockerpros.com\/wp-content\/litespeed\/avatar\/d13b9d4f101de1a7535b404e0c59affd.jpg?ver=1779972442\",\"caption\":\"dockerpros\"},\"sameAs\":[\"https:\/\/dockerpros.com\/\"],\"url\":\"https:\/\/dockerpros.com\/de\/author\/dockerpros\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Wie automatisiere ich die Erstellung von Docker-Images? \u2013 Dockerpros","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/dockerpros.com\/de\/bereitstellung-und-orchestrierung\/wie-automatisiere-ich-die-erstellung-von-docker-images\/","og_locale":"de_DE","og_type":"article","og_title":"How do I automate the creation of Docker images? - Dockerpros","og_description":"Automating Docker image creation streamlines development processes. Utilize Dockerfiles for consistent builds, integrate CI\/CD tools like Jenkins or GitHub Actions for automated workflows.","og_url":"https:\/\/dockerpros.com\/de\/bereitstellung-und-orchestrierung\/wie-automatisiere-ich-die-erstellung-von-docker-images\/","og_site_name":"Dockerpros","article_published_time":"2024-07-21T11:48:00+00:00","og_image":[{"width":800,"height":600,"url":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/how-do-i-automate-the-creation-of-docker-images_211.jpg","type":"image\/jpeg"}],"author":"dockerpros","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"dockerpros","Gesch\u00e4tzte Lesezeit":"6\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/#article","isPartOf":{"@id":"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/"},"author":{"name":"dockerpros","@id":"https:\/\/dockerpros.com\/#\/schema\/person\/a9b4c3d7f7a8e2b072e77d47b382a3a4"},"headline":"How do I automate the creation of Docker images?","datePublished":"2024-07-21T11:48:00+00:00","mainEntityOfPage":{"@id":"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/"},"wordCount":923,"commentCount":0,"publisher":{"@id":"https:\/\/dockerpros.com\/#organization"},"image":{"@id":"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/#primaryimage"},"thumbnailUrl":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/how-do-i-automate-the-creation-of-docker-images_211.jpg","articleSection":["Deployment and Orchestration"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/","url":"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/","name":"Wie automatisiere ich die Erstellung von Docker-Images? \u2013 Dockerpros","isPartOf":{"@id":"https:\/\/dockerpros.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/#primaryimage"},"image":{"@id":"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/#primaryimage"},"thumbnailUrl":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/how-do-i-automate-the-creation-of-docker-images_211.jpg","datePublished":"2024-07-21T11:48:00+00:00","breadcrumb":{"@id":"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/#primaryimage","url":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/how-do-i-automate-the-creation-of-docker-images_211.jpg","contentUrl":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/how-do-i-automate-the-creation-of-docker-images_211.jpg","width":800,"height":600,"caption":"how-do-i-automate-the-creation-of-docker-images-2"},{"@type":"BreadcrumbList","@id":"https:\/\/dockerpros.com\/deployment-and-orchestration\/how-do-i-automate-the-creation-of-docker-images\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dockerpros.com\/"},{"@type":"ListItem","position":2,"name":"How do I automate the creation of Docker images?"}]},{"@type":"WebSite","@id":"https:\/\/dockerpros.com\/#website","url":"https:\/\/dockerpros.com\/","name":"Docker-Profis","description":"DockerPros \u2013 Ihr umfassender Docker-Ressourcen-Hub","publisher":{"@id":"https:\/\/dockerpros.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/dockerpros.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/dockerpros.com\/#organization","name":"Docker-Profis","url":"https:\/\/dockerpros.com\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/dockerpros.com\/#\/schema\/logo\/image\/","url":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/Dockerpros_logo_blanco.png","contentUrl":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/Dockerpros_logo_blanco.png","width":532,"height":114,"caption":"Dockerpros"},"image":{"@id":"https:\/\/dockerpros.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/dockerpros.com\/#\/schema\/person\/a9b4c3d7f7a8e2b072e77d47b382a3a4","name":"dockerpros","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/dockerpros.com\/#\/schema\/person\/image\/","url":"https:\/\/dockerpros.com\/wp-content\/litespeed\/avatar\/d13b9d4f101de1a7535b404e0c59affd.jpg?ver=1779972442","contentUrl":"https:\/\/dockerpros.com\/wp-content\/litespeed\/avatar\/d13b9d4f101de1a7535b404e0c59affd.jpg?ver=1779972442","caption":"dockerpros"},"sameAs":["https:\/\/dockerpros.com\/"],"url":"https:\/\/dockerpros.com\/de\/author\/dockerpros\/"}]}},"_links":{"self":[{"href":"https:\/\/dockerpros.com\/de\/wp-json\/wp\/v2\/posts\/211","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dockerpros.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dockerpros.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dockerpros.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dockerpros.com\/de\/wp-json\/wp\/v2\/comments?post=211"}],"version-history":[{"count":0,"href":"https:\/\/dockerpros.com\/de\/wp-json\/wp\/v2\/posts\/211\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dockerpros.com\/de\/wp-json\/wp\/v2\/media\/314"}],"wp:attachment":[{"href":"https:\/\/dockerpros.com\/de\/wp-json\/wp\/v2\/media?parent=211"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dockerpros.com\/de\/wp-json\/wp\/v2\/categories?post=211"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dockerpros.com\/de\/wp-json\/wp\/v2\/tags?post=211"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}