Heim >Betrieb und Instandhaltung >Docker >Technische Lösung: Pipeline integriert Docker-Container
Dieser Artikel vermittelt Ihnen relevantes Wissen über die Verwendung von Pipeline-Vererbungs-Docker, hauptsächlich im Zusammenhang mit der Pipeline-Integration von Docker-Containern. Ich hoffe, dass er für alle hilfreich ist.
Dieser Artikel beschreibt hauptsächlich die Verwendung der Pipeline-Integration Docker.
Microservice-Architektur ist die aktuelle Mainstream-Technologieauswahl. Wenn das Unternehmen implementiert ist, gibt es viele Geschäftsdienste, sei es in einem beliebigen Knoten während der Entwicklung, beim Testen oder online Der Betriebsaufwand für Verpackungsdienstleistungen durch manuelle Zusammenstellung ist nicht nur extrem hoch, sondern auch fehleranfällig.
Durch den Pipeline-Ansatz wird die Service-Image-Erstellung in eine Ein-Klick-Trigger-Ausführung orchestriert, um automatisierte Verwaltungsprozesse zu erreichen, die ein notwendiges Funktionsmodul in der Microservice-Architektur darstellen.
Die Prozessknoten in diesem Artikel beziehen sich hauptsächlich auf das Paket Jar
. Der Verarbeitungsablauf im Docker-Modul besteht hauptsächlich aus der Bildkonstruktionsverwaltung und dem Containerbetrieb: Jar
包,在docker模块中的处理流程,主要是镜像构建管理与容器运行:
Jar
包,创建Dockerfile
脚本文件;整个流程的都放在Pipeline流水线中,衔接在本地Jar包生成之后。
首先安装流程中Docker集成的相关插件:Docker Pipeline
,Docker plugin
,CloudBees Docker Hub/Registry Notification
。
在之前的流水线篇幅中,已经通过流水线完成Gitee仓库代码pull和本地打包,下面开始处理docker环节。
关于Dockerfile的脚本语法也可以参考之前docker篇幅,下面看流水线中的用法:
environment { docker_directory = 'docker-app' docker_repository = '仓库URL' } stage('Dockerfile') { steps { sh ''' rm -rf ${docker_directory} mkdir -p ${docker_directory} cp auto-client/target/auto-client-1.0-SNAPSHOT.jar ${docker_directory}/auto-client.jar cd ${docker_directory} cat>Dockerfile<<EOF FROM java:8 MAINTAINER cicadasmile VOLUME /data/docker/logs ADD auto-client.jar application.jar ENTRYPOINT ["java","-Dspring.profiles.active=dev","-Djava.security.egd=file:/dev/./urandom","-jar","/application.jar"] EOF cat Dockerfile ''' echo "create Dockerfile success" } }
脚本说明:
docker-app
;这里即进入docker目录,执行镜像打包的操作,并把镜像推送到云端仓库,很多仓库都是私有的,需要身份验证,通过配置凭据去访问:
stage('DockerImage'){ steps { script { dir("${docker_directory}") { sh 'ls' docker.withRegistry("${docker_directory}", '访问凭据') { docker.build("doc-line-app:latest").push() } } echo "build DockerImage success" } } }
打开Manage Jenkins
界面,Manage Credentials
Jar
-Paket und erstellen Sie eine Dockerfile
-Skriptdatei 3. Implementierungsprozess
Installieren Sie zunächst die relevanten Plug-ins, die von Docker in den Prozess integriert wurden: Docker Pipeline
, Docker-Plugin
, CloudBees Docker Hub/Registry-Benachrichtigung.
GitEE·地址 https://gitee.com/cicadasmile/butte-auto-parent Wiki·地址 https://gitee.com/cicadasmile/butte-java-noteSkriptbeschreibung:
docker-app
Anmeldeinformationen verwalten
; 🎜🎜🎜🎜🎜Folgen Sie dem folgenden Konfigurationsprozess: 🎜 🎜🎜🎜🎜 4. Quellcode-Adresse🎜rrreee🎜Empfohlenes Lernen: „🎜Docker-Video-Tutorial🎜“🎜🎜Das obige ist der detaillierte Inhalt vonTechnische Lösung: Pipeline integriert Docker-Container. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!