{"id":612,"date":"2024-07-22T12:35:38","date_gmt":"2024-07-22T12:35:38","guid":{"rendered":"https:\/\/dockerpros.com\/?p=612"},"modified":"2024-07-22T12:35:38","modified_gmt":"2024-07-22T12:35:38","slug":"integration-von-docker-in-gitlab-ci-cd-pipelines-zur-steigerung-der-effizienz","status":"publish","type":"post","link":"https:\/\/dockerpros.com\/de\/ci-cd-with-docker\/integrating-docker-in-gitlab-ci-cd-pipelines-for-enhanced-efficiency\/","title":{"rendered":"Integration von Docker in GitLab CI\/CD-Pipelines f\u00fcr verbesserte Effizienz"},"content":{"rendered":"<h1>Die Verwendung von Docker in GitLab CI\/CD Pipelines\n\nDocker ist ein leistungsstarkes Werkzeug, das die Erstellung, Bereitstellung und Ausf\u00fchrung von Anwendungen in Containern erm\u00f6glicht. In GitLab CI\/CD Pipelines kann Docker verwendet werden, um konsistente und reproduzierbare Build-Umgebungen zu schaffen, was die Zuverl\u00e4ssigkeit und Effizienz des Entwicklungsprozesses erh\u00f6ht.\n\nUm Docker in GitLab CI\/CD Pipelines zu nutzen, m\u00fcssen Sie zun\u00e4chst sicherstellen, dass Ihr GitLab Runner Docker-f\u00e4hig ist. Dies kann erreicht werden, indem Sie den Runner mit dem Docker Executor konfigurieren. Sobald dies eingerichtet ist, k\u00f6nnen Sie Docker-Befehle direkt in Ihren .gitlab-ci.yml-Dateien verwenden.\n\nHier ist ein einfaches Beispiel f\u00fcr eine .gitlab-ci.yml-Datei, die Docker verwendet:\n\n```yaml\nimage: docker:latest\n\nservices:\n  - docker:dind\n\nstages:\n  - build\n  - test\n  - deploy\n\nbuild:\n  stage: build\n  script:\n    - docker build -t my-app .\n\ntest:\n  stage: test\n  script:\n    - docker run my-app npm test\n\ndeploy:\n  stage: deploy\n  script:\n    - docker run -d -p 8080:8080 my-app\n```\n\nIn diesem Beispiel wird das Docker-Image `docker:latest` als Basis-Image verwendet, und der Docker-in-Docker (DinD) Service wird hinzugef\u00fcgt, um Docker-Befehle innerhalb des Containers ausf\u00fchren zu k\u00f6nnen. Die Pipeline besteht aus drei Stufen: build, test und deploy. In der Build-Stufe wird das Docker-Image f\u00fcr die Anwendung erstellt. In der Test-Stufe wird das Image ausgef\u00fchrt und die Tests werden ausgef\u00fchrt. Schlie\u00dflich wird in der Deploy-Stufe das Image als Container ausgef\u00fchrt.\n\nDurch die Verwendung von Docker in GitLab CI\/CD Pipelines k\u00f6nnen Sie sicherstellen, dass Ihre Builds in einer konsistenten Umgebung ausgef\u00fchrt werden, unabh\u00e4ngig davon, wo der Runner ausgef\u00fchrt wird. Dies f\u00fchrt zu zuverl\u00e4ssigeren und reproduzierbaren Builds und Tests, was letztendlich zu einer h\u00f6heren Code-Qualit\u00e4t und schnelleren Bereitstellungen f\u00fchrt.<\/h1>\n<p>In der modernen Softwareentwicklungslandschaft sind Continuous Integration und Continuous Deployment (CI\/CD) unerl\u00e4sslich, um die Codequalit\u00e4t zu gew\u00e4hrleisten und schnelle Bereitstellungszyklen sicherzustellen. GitLab, als f\u00fchrende DevOps-Plattform, bietet robuste CI\/CD-Funktionen, die durch die Nutzung von Docker erheblich verbessert werden k\u00f6nnen. Dieser Artikel untersucht, wie Docker in GitLab CI\/CD-Pipelines integriert werden kann, um Workflows zu optimieren, die Build-Konsistenz zu verbessern und die Bereitstellung in verschiedenen Umgebungen zu erleichtern.<\/p>\n<h2>Grundlagen verstehen<\/h2>\n<h3>Was ist Docker?<\/h3>\n<p>Docker ist eine Open-Source-Plattform, die die Bereitstellung automatisiert, <span class=\"glossaryai-tooltip glossary-term-696\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/scaling\/\" target=\"_blank\">Skalierung<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Scaling refers to the process of adjusting the capacity of a system to accommodate varying loads. It can be achieved through vertical scaling, which enhances existing resources, or horizontal scaling, which adds additional resources.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/scaling\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>, und Verwaltung von Anwendungen mithilfe von Containerisierung. Container kapseln eine Anwendung und ihre Abh\u00e4ngigkeiten, wodurch sie es erm\u00f6glichen, <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> consistently across different computing environments. This eliminates the \"it works on my machine\" problem frequently encountered in software development.<\/p>\n<h3>Was ist GitLab CI\/CD?<\/h3>\n<p>GitLab CI\/CD is a built-in feature of GitLab that helps automate the software development process. It enables developers to build, test, and deploy their code automatically when changes are made. GitLab CI\/CD uses a <code>.gitlab-ci.yml<\/code> Datei, die die Konfiguration f\u00fcr die Pipeline enth\u00e4lt und die verschiedenen Phasen, Jobs und Skripte definiert, die f\u00fcr den CI\/CD-Prozess erforderlich sind.<\/p>\n<h2>Vorteile der Verwendung von Docker mit GitLab CI\/CD\n\nDocker ist eine Plattform zur Entwicklung, Bereitstellung und Ausf\u00fchrung von Anwendungen in Containern. GitLab CI\/CD ist eine integrierte L\u00f6sung f\u00fcr Continuous Integration und Continuous Deployment. Die Kombination von Docker mit GitLab CI\/CD bietet zahlreiche Vorteile:\n\n1. Konsistente Umgebungen: Docker erm\u00f6glicht die Erstellung von isolierten Umgebungen, die auf allen Systemen identisch sind. Dies gew\u00e4hrleistet, dass Ihre Anwendung in der Entwicklung, im Test und in der Produktion auf die gleiche Weise funktioniert.\n\n2. Schnellere Builds: Docker-Images k\u00f6nnen zwischengespeichert und wiederverwendet werden, was die Build-Zeiten in GitLab CI\/CD erheblich verk\u00fcrzt.\n\n3. Skalierbarkeit: Docker-Container sind leichtgewichtig und k\u00f6nnen schnell gestartet und gestoppt werden. Dies erm\u00f6glicht eine einfache Skalierung Ihrer Anwendung in GitLab CI\/CD.\n\n4. Portabilit\u00e4t: Docker-Container k\u00f6nnen auf verschiedenen Plattformen ausgef\u00fchrt werden, was die Portabilit\u00e4t Ihrer Anwendung erh\u00f6ht.\n\n5. Microservices: Docker ist ideal f\u00fcr die Entwicklung und Bereitstellung von Microservices, die in GitLab CI\/CD leicht verwaltet werden k\u00f6nnen.\n\n6. Sicherheit: Docker bietet verschiedene Sicherheitsfunktionen, die in GitLab CI\/CD integriert werden k\u00f6nnen, um Ihre Anwendung zu sch\u00fctzen.\n\n7. Kosteneffizienz: Docker-Container ben\u00f6tigen weniger Ressourcen als virtuelle Maschinen, was zu Kosteneinsparungen in GitLab CI\/CD f\u00fchren kann.\n\n8. Automatisierung: Docker-Container k\u00f6nnen in GitLab CI\/CD automatisiert werden, was die Bereitstellung und Verwaltung Ihrer Anwendung vereinfacht.\n\n9. Zusammenarbeit: Docker-Images k\u00f6nnen in GitLab CI\/CD geteilt und wiederverwendet werden, was die Zusammenarbeit im Team erleichtert.\n\n10. Monitoring: Docker-Container k\u00f6nnen in GitLab CI\/CD \u00fcberwacht werden, um die Leistung und den Zustand Ihrer Anwendung zu verfolgen.\n\nZusammenfassend l\u00e4sst sich sagen, dass die Verwendung von Docker mit GitLab CI\/CD zahlreiche Vorteile bietet, die die Entwicklung, Bereitstellung und Verwaltung von Anwendungen erheblich verbessern k\u00f6nnen.<\/h2>\n<ol>\n<li>\n<p><strong>Konsistente Umgebungen<\/strong>: Docker ensures that the application runs in the same environment during development, testing, and production. This reduces the chances of discrepancies caused by different configurations.<\/p>\n<\/li>\n<li>\n<p><strong>Isolation<\/strong>Container bieten ein Ma\u00df an Isolation zwischen verschiedenen Anwendungen und ihren Abh\u00e4ngigkeiten, verhindern Konflikte und gew\u00e4hrleisten stabile Builds.<\/p>\n<\/li>\n<li>\n<p><strong>Scalability<\/strong>: Using Docker in CI\/CD pipelines allows for easy <span class=\"glossaryai-tooltip glossary-term-696\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/scaling\/\" target=\"_blank\">Skalierung<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Scaling refers to the process of adjusting the capacity of a system to accommodate varying loads. It can be achieved through vertical scaling, which enhances existing resources, or horizontal scaling, which adds additional resources.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/scaling\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> of applications. Containers can be spun up or down quickly, depending on the demand.<\/p>\n<\/li>\n<li>\n<p><strong>Simplified Dependency Management<\/strong>: Docker images bundle all dependencies required for an application, simplifying the management of libraries and tools.<\/p>\n<\/li>\n<li>\n<p><strong>Faster Build Times<\/strong>Docker-Images k\u00f6nnen zwischengespeichert werden, was den Build-Prozess in CI\/CD-Pipelines erheblich beschleunigt.<\/p>\n<\/li>\n<\/ol>\n<h2>Docker mit GitLab CI\/CD einrichten<\/h2>\n<h3>Voraussetzungen<\/h3>\n<p>Before diving into the implementation, ensure you have the following:<\/p>\n<ul>\n<li>Ein GitLab-Konto und ein Projekt, in dem du CI\/CD-Pipelines einrichten kannst.<\/li>\n<li>Docker installed on your local machine for building images.<\/li>\n<li>Basic knowledge of <span class=\"glossaryai-tooltip glossary-term-690\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/yaml\/\" target=\"_blank\">YAML<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">YAML (YAML Ain't Markup Language) ist ein f\u00fcr Menschen lesbares Daten-Serialisierungsformat, das h\u00e4ufig f\u00fcr Konfigurationsdateien verwendet wird. Es betont Einfachheit und Klarheit und eignet sich daher sowohl f\u00fcr Entwickler als auch f\u00fcr Nicht-Entwickler.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/yaml\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> Syntax, da die <code>.gitlab-ci.yml<\/code> file is written in <span class=\"glossaryai-tooltip glossary-term-690\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/yaml\/\" target=\"_blank\">YAML<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">YAML (YAML Ain't Markup Language) ist ein f\u00fcr Menschen lesbares Daten-Serialisierungsformat, das h\u00e4ufig f\u00fcr Konfigurationsdateien verwendet wird. Es betont Einfachheit und Klarheit und eignet sich daher sowohl f\u00fcr Entwickler als auch f\u00fcr Nicht-Entwickler.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/yaml\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>.<\/li>\n<\/ul>\n<h3>Schritt 1: Erstellen Sie eine <code>.gitlab-ci.yml<\/code> File<\/h3>\n<p>Der erste Schritt beim Einrichten einer GitLab CI\/CD-Pipeline mit Docker ist das Erstellen eines... <code>.gitlab-ci.yml<\/code> file at 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>. This file dictates how the CI\/CD processes will <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<p>Hier ist ein einfaches Beispiel:<\/p>\n<pre><code class=\"language-yaml\"><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>: docker:latest\n\nservices:\n  - docker:dind\n\nstages:\n  - build\n  - test\n  - deploy\n\nvariables:\n  DOCKER_DRIVER: overlay2\n\nbuild:\n  stage: build\n  script:\n    - docker build -t my-app:latest .\n\ntest:\n  stage: test\n  script:\n    - docker <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> --rm my-app:latest .\/run_tests.sh\n\ndeploy:\n  stage: deploy\n  script:\n    - docker <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> -d -p 8080:80 my-app:latest<\/code><\/pre>\n<h3>Zerlegung des <code>.gitlab-ci.yml<\/code> File<\/h3>\n<ul>\n<li>\n<p><strong><code><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><\/code><\/strong>: This specifies the 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> to use for the CI\/CD pipeline. Here, we are using the latest 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>.<\/p>\n<\/li>\n<li>\n<p><strong><code>Dienstleistungen<\/code><\/strong>: <code>Docker-in-Docker<\/code> (Docker-in-Docker) allows Docker commands to be executed within the CI\/CD environment, enabling you to build and <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> containers.<\/p>\n<\/li>\n<li>\n<p><strong><code>Stadien<\/code><\/strong>: Defines the stages of the pipeline: build, test, and deploy.<\/p>\n<\/li>\n<li>\n<p><strong><code>variables<\/code><\/strong>Hier setzen wir die <code>DOCKER_DRIVER<\/code> variable to <code>overlay2<\/code>, der bevorzugte Speichertreiber f\u00fcr Docker.<\/p>\n<\/li>\n<li>\n<p><strong>Jobs<\/strong>:<\/p>\n<ul>\n<li><strong><code>bauen<\/code><\/strong>: In this job, we build 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> named <code>meine-app<\/code> mit der <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> in the root of the <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>.<\/li>\n<li><strong><code>Test<\/code><\/strong>: This job runs tests inside the <span class=\"glossaryai-tooltip glossary-term-650\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\" target=\"_blank\">Beh\u00e4lter<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Containers are lightweight, portable units that encapsulate software and its dependencies, enabling consistent execution across different environments. They leverage OS-level virtualization for efficiency.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> created by the previous job using the <code>run_tests.sh<\/code> Skript.<\/li>\n<li><strong><code>einsetzen<\/code><\/strong>: Finally, we deploy the application by running the Docker <span class=\"glossaryai-tooltip glossary-term-650\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\" target=\"_blank\">Beh\u00e4lter<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Containers are lightweight, portable units that encapsulate software and its dependencies, enabling consistent execution across different environments. They leverage OS-level virtualization for efficiency.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> in detached mode and mapping <span class=\"glossaryai-tooltip glossary-term-677\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/port\/\" target=\"_blank\">port<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Ein PORT ist ein Kommunikationsendpunkt in einem Computernetzwerk, der durch eine numerische Kennung definiert ist. Er erm\u00f6glicht die Weiterleitung von Daten an bestimmte Anwendungen und verbessert so die Funktionalit\u00e4t und Sicherheit des Systems.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/port\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> 8080 on the host to <span class=\"glossaryai-tooltip glossary-term-677\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/port\/\" target=\"_blank\">port<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Ein PORT ist ein Kommunikationsendpunkt in einem Computernetzwerk, der durch eine numerische Kennung definiert ist. Er erm\u00f6glicht die Weiterleitung von Daten an bestimmte Anwendungen und verbessert so die Funktionalit\u00e4t und Sicherheit des Systems.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/port\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> 80 on the <span class=\"glossaryai-tooltip glossary-term-650\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\" target=\"_blank\">Beh\u00e4lter<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Containers are lightweight, portable units that encapsulate software and its dependencies, enabling consistent execution across different environments. They leverage OS-level virtualization for efficiency.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3>Schritt 2: Docker-Images erstellen und hochladen<\/h3>\n<p>In many scenarios, you may want to push Docker images to a <span class=\"glossaryai-tooltip glossary-term-650\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\" target=\"_blank\">Beh\u00e4lter<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Containers are lightweight, portable units that encapsulate software and its dependencies, enabling consistent execution across different environments. They leverage OS-level virtualization for efficiency.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> <span class=\"glossaryai-tooltip glossary-term-658\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/registry\/\" target=\"_blank\">registry<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">A registry is a centralized database that stores information about various entities, such as software installations, system configurations, or user data. It serves as a crucial component for system management and configuration.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/registry\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> after building them. GitLab provides its own <span class=\"glossaryai-tooltip glossary-term-650\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\" target=\"_blank\">Beh\u00e4lter<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Containers are lightweight, portable units that encapsulate software and its dependencies, enabling consistent execution across different environments. They leverage OS-level virtualization for efficiency.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> <span class=\"glossaryai-tooltip glossary-term-658\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/registry\/\" target=\"_blank\">registry<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">A registry is a centralized database that stores information about various entities, such as software installations, system configurations, or user data. It serves as a crucial component for system management and configuration.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/registry\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>, which can be leveraged for this purpose. <\/p>\n<p>To push images, the <code>.gitlab-ci.yml<\/code> file can be extended as follows:<\/p>\n<pre><code class=\"language-yaml\">variables:\n  DOCKER_DRIVER: overlay2\n  <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/image\/\" target=\"_blank\">IMAGE<\/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>: $CI_REGISTRY\/my-app\n\nbuild:\n  stage: build\n  script:\n    - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY\n    - docker build -t $<span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/image\/\" target=\"_blank\">IMAGE<\/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>:latest .\n    - docker push $<span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/image\/\" target=\"_blank\">IMAGE<\/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>:neueste<\/code><\/pre>\n<h3>Explanation<\/h3>\n<ul>\n<li>\n<p><strong><code><span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/image\/\" target=\"_blank\">IMAGE<\/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><\/code><\/strong>: This variable contains the name of the 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>, including the GitLab <span class=\"glossaryai-tooltip glossary-term-658\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/registry\/\" target=\"_blank\">registry<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">A registry is a centralized database that stores information about various entities, such as software installations, system configurations, or user data. It serves as a crucial component for system management and configuration.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/registry\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> URL.<\/p>\n<\/li>\n<li>\n<p><strong><code>docker login<\/code><\/strong>: This command logs into the GitLab <span class=\"glossaryai-tooltip glossary-term-650\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\" target=\"_blank\">Beh\u00e4lter<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Containers are lightweight, portable units that encapsulate software and its dependencies, enabling consistent execution across different environments. They leverage OS-level virtualization for efficiency.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> <span class=\"glossaryai-tooltip glossary-term-658\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/registry\/\" target=\"_blank\">registry<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">A registry is a centralized database that stores information about various entities, such as software installations, system configurations, or user data. It serves as a crucial component for system management and configuration.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/registry\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> using the CI job token, which allows you to push images to the <span class=\"glossaryai-tooltip glossary-term-658\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/registry\/\" target=\"_blank\">registry<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">A registry is a centralized database that stores information about various entities, such as software installations, system configurations, or user data. It serves as a crucial component for system management and configuration.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/registry\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> securely.<\/p>\n<\/li>\n<li>\n<p><strong><code>docker push<\/code><\/strong>: After building the <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>, we push it to the GitLab <span class=\"glossaryai-tooltip glossary-term-650\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\" target=\"_blank\">Beh\u00e4lter<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Containers are lightweight, portable units that encapsulate software and its dependencies, enabling consistent execution across different environments. They leverage OS-level virtualization for efficiency.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> <span class=\"glossaryai-tooltip glossary-term-658\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/registry\/\" target=\"_blank\">registry<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">A registry is a centralized database that stores information about various entities, such as software installations, system configurations, or user data. It serves as a crucial component for system management and configuration.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/registry\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>.<\/p>\n<\/li>\n<\/ul>\n<h3>Step 3: Using Docker Compose<\/h3>\n<p>For applications that require multiple services (such as databases, caches, etc.), using <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> kann vereinfachen <span class=\"glossaryai-tooltip glossary-term-657\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/orchestration\/\" target=\"_blank\">Orchestrierung<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Orchestrierung bezieht sich auf die automatisierte Verwaltung und Koordination komplexer Systeme und Dienstleistungen. Sie optimiert Prozesse durch die Integration verschiedener Komponenten und gew\u00e4hrleistet so einen effizienten Betrieb und eine optimale Ressourcennutzung.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/orchestration\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>. You can integrate <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> in your GitLab CI\/CD pipeline as follows:<\/p>\n<ol>\n<li>Erstellen Sie eine <code>docker-compose.yml<\/code> Datei im Stammverzeichnis Ihres Projekts.<\/li>\n<\/ol>\n<pre><code class=\"language-yaml\">version: '3'\nservices:\n  web:\n    build: .\n    ports:\n      - \"8080:80\"\n  db:\n    <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>: postgres:latest\n    environment:\n      POSTGRES_USER: user\n      POSTGRES_PASSWORD: password<\/code><\/pre>\n<ol start=\"2\">\n<li>Aktualisieren Sie Ihre <code>.gitlab-ci.yml<\/code> file to use <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>:<\/li>\n<\/ol>\n<pre><code class=\"language-yaml\">build:\n  stage: build\n  script:\n    - docker-compose build\n\ntest:\n  stage: test\n  script:\n    - docker-compose up -d\n    - docker-compose exec web .\/run_tests.sh\n    - docker-compose down<\/code><\/pre>\n<h3>Explanation<\/h3>\n<ul>\n<li>\n<p><strong><code>docker-compose bauen<\/code><\/strong>: This command builds all services defined in the <code>docker-compose.yml<\/code> file.<\/p>\n<\/li>\n<li>\n<p><strong><code>docker-compose starten -d<\/code><\/strong>Startet die in der Konfiguration definierten Dienste <code>docker-compose.yml<\/code> in detached mode.<\/p>\n<\/li>\n<li>\n<p><strong><code>docker-compose exec<\/code><\/strong>: Runs commands within the running <span class=\"glossaryai-tooltip glossary-term-681\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/service\/\" target=\"_blank\">Service<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Service bezeichnet die Handlung, Unterst\u00fctzung oder Hilfe zu leisten, um spezifische Bed\u00fcrfnisse oder Anforderungen zu erf\u00fcllen. In verschiedenen Bereichen umfasst er Kundenservice, technischen Support und professionelle Dienstleistungen, wobei Effizienz und Nutzerzufriedenheit im Vordergrund stehen.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/service\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> <span class=\"glossaryai-tooltip glossary-term-650\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\" target=\"_blank\">Beh\u00e4lter<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Containers are lightweight, portable units that encapsulate software and its dependencies, enabling consistent execution across different environments. They leverage OS-level virtualization for efficiency.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> (in this case, executing tests).<\/p>\n<\/li>\n<li>\n<p><strong><code>docker-compose herunterfahren<\/code><\/strong>: Stoppt und entfernt die Container, die in der <code>docker-compose.yml<\/code>.<\/p>\n<\/li>\n<\/ul>\n<h2>Beste Praktiken zur Verwendung von Docker in GitLab CI\/CD<\/h2>\n<ol>\n<li><strong>Use Multi-Stage Builds<\/strong>: Multi-stage builds can help reduce the size of your Docker images by allowing you to separate the build environment from the runtime environment. This can significantly decrease deployment times and improve security:<\/li>\n<\/ol>\n<pre><code class=\"language-dockerfile\"># Erste Stufe: Bauen\nVON <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>:16 AS build\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> . .\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 &amp;&amp; npm <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# Second stage: production\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=build \/app\/dist \/usr\/share\/nginx\/html<\/code><\/pre>\n<ol start=\"2\">\n<li>\n<p><strong>Use Caching Wisely<\/strong>: To speed up the build process, leverage Docker\u2019s caching mechanisms. For example, ordering your <code><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><\/code> Wenn Anweisungen korrekt sind, kann Docker Ebenen effektiv zwischenspeichern.<\/p>\n<\/li>\n<li>\n<p><strong>Ressourcennutzung begrenzen<\/strong>In CI-Pipelines, insbesondere bei parallelen Jobs, ist es wichtig, die Ressourcennutzung zu begrenzen. Sie k\u00f6nnen in Ihren Jobs Ressourcenlimits festlegen:<\/p>\n<\/li>\n<\/ol>\n<pre><code class=\"language-yaml\">build:\n  stage: build\n  script:\n    - docker build -t my-app:latest .\n  resource_requests:\n    memory: 512Mi\n    cpu: \"1\"<\/code><\/pre>\n<ol start=\"4\">\n<li><strong>Cleanup Resources<\/strong>: To avoid using up all available storage and memory on the CI runners, ensure you clean up unused images and containers regularly. You can <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> einen Job f\u00fcr dich <code>.gitlab-ci.yml<\/code> verwaiste Bilder entfernen<\/li>\n<\/ol>\n<pre><code class=\"language-yaml\">cleanup:\n  stage: cleanup\n  script:\n    - docker rmi $(docker images -f \"dangling=true\" -q) || true<\/code><\/pre>\n<ol start=\"5\">\n<li><strong>Verwenden Sie Tags f\u00fcr die Versionsverwaltung<\/strong>: Implement tagging for your Docker images in the CI\/CD process. This practice helps maintain version control and makes it easier to roll back to previous versions.<\/li>\n<\/ol>\n<pre><code class=\"language-yaml\">build:\n  stage: build\n  script:\n    - docker build -t $<span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/image\/\" target=\"_blank\">IMAGE<\/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>:$CI_COMMIT_TAG .<\/code><\/pre>\n<h2>Fazit<\/h2>\n<p>Die Integration von Docker in GitLab-CI\/CD-Pipelines bietet erhebliche Vorteile in Bezug auf Konsistenz, Geschwindigkeit und Skalierbarkeit. Durch die Befolgung bew\u00e4hrter Verfahren und die Nutzung der Docker-Funktionen k\u00f6nnen Teams ihre Entwicklungsabl\u00e4ufe verbessern, Testprozesse optimieren und Bereitstellungen vereinfachen. Da sich die Softwarelandschaft weiterentwickelt, bleibt die Beherrschung von Docker in Verbindung mit GitLab CI\/CD f\u00fcr Organisationen, die Agilit\u00e4t und Zuverl\u00e4ssigkeit in ihren Entwicklungsprozessen anstreben, von entscheidender Bedeutung. <\/p>\n<p>With these insights and configurations in place, you should be well-prepared to implement Docker within your GitLab CI\/CD pipelines effectively, ultimately leading to a more efficient and robust software delivery lifecycle.<\/p>","protected":false},"excerpt":{"rendered":"<p>Integrating Docker in GitLab CI\/CD pipelines streamlines the development workflow by enabling consistent environments, faster builds, and simplified dependency management, enhancing overall efficiency.<\/p>","protected":false},"author":1,"featured_media":1063,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[29],"tags":[],"class_list":["post-612","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ci-cd-with-docker"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Integrating Docker in GitLab CI\/CD Pipelines for Enhanced Efficiency - 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\/ci-cd-mit-docker\/integration-von-docker-in-gitlab-ci-cd-pipelines-zur-steigerung-der-effizienz\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Integrating Docker in GitLab CI\/CD Pipelines for Enhanced Efficiency - Dockerpros\" \/>\n<meta property=\"og:description\" content=\"Integrating Docker in GitLab CI\/CD pipelines streamlines the development workflow by enabling consistent environments, faster builds, and simplified dependency management, enhancing overall efficiency.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dockerpros.com\/de\/ci-cd-mit-docker\/integration-von-docker-in-gitlab-ci-cd-pipelines-zur-steigerung-der-effizienz\/\" \/>\n<meta property=\"og:site_name\" content=\"Dockerpros\" \/>\n<meta property=\"article:published_time\" content=\"2024-07-22T12:35:38+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/integrating-docker-in-gitlab-ci-cd-pipelines-for-enhanced-efficiency_612.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\/fr\/ci-cd-avec-docker\/integrating-docker-in-gitlab-ci-cd-pipelines-for-enhanced-efficiency\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/dockerpros.com\/fr\/ci-cd-avec-docker\/integrating-docker-in-gitlab-ci-cd-pipelines-for-enhanced-efficiency\/\"},\"author\":{\"name\":\"dockerpros\",\"@id\":\"https:\/\/dockerpros.com\/#\/schema\/person\/a9b4c3d7f7a8e2b072e77d47b382a3a4\"},\"headline\":\"Integrating Docker in GitLab CI\/CD Pipelines for Enhanced Efficiency\",\"datePublished\":\"2024-07-22T12:35:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/dockerpros.com\/fr\/ci-cd-avec-docker\/integrating-docker-in-gitlab-ci-cd-pipelines-for-enhanced-efficiency\/\"},\"wordCount\":988,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/dockerpros.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/dockerpros.com\/fr\/ci-cd-avec-docker\/integrating-docker-in-gitlab-ci-cd-pipelines-for-enhanced-efficiency\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/integrating-docker-in-gitlab-ci-cd-pipelines-for-enhanced-efficiency_612.jpg\",\"articleSection\":[\"CI\/CD with Docker\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/dockerpros.com\/fr\/ci-cd-avec-docker\/integrating-docker-in-gitlab-ci-cd-pipelines-for-enhanced-efficiency\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/dockerpros.com\/fr\/ci-cd-avec-docker\/integrating-docker-in-gitlab-ci-cd-pipelines-for-enhanced-efficiency\/\",\"url\":\"https:\/\/dockerpros.com\/fr\/ci-cd-avec-docker\/integrating-docker-in-gitlab-ci-cd-pipelines-for-enhanced-efficiency\/\",\"name\":\"Integrating Docker in GitLab CI\/CD Pipelines for Enhanced Efficiency - Dockerpros\",\"isPartOf\":{\"@id\":\"https:\/\/dockerpros.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/dockerpros.com\/fr\/ci-cd-avec-docker\/integrating-docker-in-gitlab-ci-cd-pipelines-for-enhanced-efficiency\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/dockerpros.com\/fr\/ci-cd-avec-docker\/integrating-docker-in-gitlab-ci-cd-pipelines-for-enhanced-efficiency\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/integrating-docker-in-gitlab-ci-cd-pipelines-for-enhanced-efficiency_612.jpg\",\"datePublished\":\"2024-07-22T12:35:38+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/dockerpros.com\/fr\/ci-cd-avec-docker\/integrating-docker-in-gitlab-ci-cd-pipelines-for-enhanced-efficiency\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/dockerpros.com\/fr\/ci-cd-avec-docker\/integrating-docker-in-gitlab-ci-cd-pipelines-for-enhanced-efficiency\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/dockerpros.com\/fr\/ci-cd-avec-docker\/integrating-docker-in-gitlab-ci-cd-pipelines-for-enhanced-efficiency\/#primaryimage\",\"url\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/integrating-docker-in-gitlab-ci-cd-pipelines-for-enhanced-efficiency_612.jpg\",\"contentUrl\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/integrating-docker-in-gitlab-ci-cd-pipelines-for-enhanced-efficiency_612.jpg\",\"width\":800,\"height\":600,\"caption\":\"integrating-docker-in-gitlab-ci-cd-pipelines-for-enhanced-efficiency-2\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/dockerpros.com\/fr\/ci-cd-avec-docker\/integrating-docker-in-gitlab-ci-cd-pipelines-for-enhanced-efficiency\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/dockerpros.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Integrating Docker in GitLab CI\/CD Pipelines for Enhanced Efficiency\"}]},{\"@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=1781786904\",\"contentUrl\":\"https:\/\/dockerpros.com\/wp-content\/litespeed\/avatar\/d13b9d4f101de1a7535b404e0c59affd.jpg?ver=1781786904\",\"caption\":\"dockerpros\"},\"sameAs\":[\"https:\/\/dockerpros.com\/\"],\"url\":\"https:\/\/dockerpros.com\/de\/author\/dockerpros\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Integrating Docker in GitLab CI\/CD Pipelines for Enhanced Efficiency - 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\/ci-cd-mit-docker\/integration-von-docker-in-gitlab-ci-cd-pipelines-zur-steigerung-der-effizienz\/","og_locale":"de_DE","og_type":"article","og_title":"Integrating Docker in GitLab CI\/CD Pipelines for Enhanced Efficiency - Dockerpros","og_description":"Integrating Docker in GitLab CI\/CD pipelines streamlines the development workflow by enabling consistent environments, faster builds, and simplified dependency management, enhancing overall efficiency.","og_url":"https:\/\/dockerpros.com\/de\/ci-cd-mit-docker\/integration-von-docker-in-gitlab-ci-cd-pipelines-zur-steigerung-der-effizienz\/","og_site_name":"Dockerpros","article_published_time":"2024-07-22T12:35:38+00:00","og_image":[{"width":800,"height":600,"url":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/integrating-docker-in-gitlab-ci-cd-pipelines-for-enhanced-efficiency_612.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\/fr\/ci-cd-avec-docker\/integrating-docker-in-gitlab-ci-cd-pipelines-for-enhanced-efficiency\/#article","isPartOf":{"@id":"https:\/\/dockerpros.com\/fr\/ci-cd-avec-docker\/integrating-docker-in-gitlab-ci-cd-pipelines-for-enhanced-efficiency\/"},"author":{"name":"dockerpros","@id":"https:\/\/dockerpros.com\/#\/schema\/person\/a9b4c3d7f7a8e2b072e77d47b382a3a4"},"headline":"Integrating Docker in GitLab CI\/CD Pipelines for Enhanced Efficiency","datePublished":"2024-07-22T12:35:38+00:00","mainEntityOfPage":{"@id":"https:\/\/dockerpros.com\/fr\/ci-cd-avec-docker\/integrating-docker-in-gitlab-ci-cd-pipelines-for-enhanced-efficiency\/"},"wordCount":988,"commentCount":0,"publisher":{"@id":"https:\/\/dockerpros.com\/#organization"},"image":{"@id":"https:\/\/dockerpros.com\/fr\/ci-cd-avec-docker\/integrating-docker-in-gitlab-ci-cd-pipelines-for-enhanced-efficiency\/#primaryimage"},"thumbnailUrl":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/integrating-docker-in-gitlab-ci-cd-pipelines-for-enhanced-efficiency_612.jpg","articleSection":["CI\/CD with Docker"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/dockerpros.com\/fr\/ci-cd-avec-docker\/integrating-docker-in-gitlab-ci-cd-pipelines-for-enhanced-efficiency\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/dockerpros.com\/fr\/ci-cd-avec-docker\/integrating-docker-in-gitlab-ci-cd-pipelines-for-enhanced-efficiency\/","url":"https:\/\/dockerpros.com\/fr\/ci-cd-avec-docker\/integrating-docker-in-gitlab-ci-cd-pipelines-for-enhanced-efficiency\/","name":"Integrating Docker in GitLab CI\/CD Pipelines for Enhanced Efficiency - Dockerpros","isPartOf":{"@id":"https:\/\/dockerpros.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/dockerpros.com\/fr\/ci-cd-avec-docker\/integrating-docker-in-gitlab-ci-cd-pipelines-for-enhanced-efficiency\/#primaryimage"},"image":{"@id":"https:\/\/dockerpros.com\/fr\/ci-cd-avec-docker\/integrating-docker-in-gitlab-ci-cd-pipelines-for-enhanced-efficiency\/#primaryimage"},"thumbnailUrl":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/integrating-docker-in-gitlab-ci-cd-pipelines-for-enhanced-efficiency_612.jpg","datePublished":"2024-07-22T12:35:38+00:00","breadcrumb":{"@id":"https:\/\/dockerpros.com\/fr\/ci-cd-avec-docker\/integrating-docker-in-gitlab-ci-cd-pipelines-for-enhanced-efficiency\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dockerpros.com\/fr\/ci-cd-avec-docker\/integrating-docker-in-gitlab-ci-cd-pipelines-for-enhanced-efficiency\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/dockerpros.com\/fr\/ci-cd-avec-docker\/integrating-docker-in-gitlab-ci-cd-pipelines-for-enhanced-efficiency\/#primaryimage","url":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/integrating-docker-in-gitlab-ci-cd-pipelines-for-enhanced-efficiency_612.jpg","contentUrl":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/integrating-docker-in-gitlab-ci-cd-pipelines-for-enhanced-efficiency_612.jpg","width":800,"height":600,"caption":"integrating-docker-in-gitlab-ci-cd-pipelines-for-enhanced-efficiency-2"},{"@type":"BreadcrumbList","@id":"https:\/\/dockerpros.com\/fr\/ci-cd-avec-docker\/integrating-docker-in-gitlab-ci-cd-pipelines-for-enhanced-efficiency\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dockerpros.com\/"},{"@type":"ListItem","position":2,"name":"Integrating Docker in GitLab CI\/CD Pipelines for Enhanced Efficiency"}]},{"@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=1781786904","contentUrl":"https:\/\/dockerpros.com\/wp-content\/litespeed\/avatar\/d13b9d4f101de1a7535b404e0c59affd.jpg?ver=1781786904","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\/612","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=612"}],"version-history":[{"count":0,"href":"https:\/\/dockerpros.com\/de\/wp-json\/wp\/v2\/posts\/612\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dockerpros.com\/de\/wp-json\/wp\/v2\/media\/1063"}],"wp:attachment":[{"href":"https:\/\/dockerpros.com\/de\/wp-json\/wp\/v2\/media?parent=612"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dockerpros.com\/de\/wp-json\/wp\/v2\/categories?post=612"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dockerpros.com\/de\/wp-json\/wp\/v2\/tags?post=612"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}