


So erstellen Sie ein Springboot-Webanwendungs-Image und stellen es mithilfe von Containern bereit
Wir kennen die drei Hauptkonzepte von Docker: Image, Container und Warehouse. Unser allgemeiner Entwicklungsprozess besteht darin, das Basis-Image vom Docker Hub abzurufen und darauf basierend bestimmte kundenspezifische Entwicklungen durchzuführen Basis-Image (Fügen Sie beispielsweise die Anwendung in das Image ein), generieren Sie ein neues Image, starten Sie den Container basierend auf diesem neuen Image und führen Sie die Anwendung aus.
1. Zwei Methoden zum Generieren von Bildern
Es gibt im Allgemeinen zwei Methoden zum Erstellen von Docker-Bildern. Eine basiert auf der Dockerfile-Konfigurationsdatei und verwendet docker build
. Die zweite Methode besteht darin, manuell ein neues Bild aus dem geänderten Inhalt zu generieren, indem ein Befehl wie docker commit
verwendet wird. docker build
进行,这是最推荐的正宗的镜像制作方法;第二种是通过使用docker commit
这样的命令,手动将修改后的内容生成新的镜像。
1.1、使用commit生成镜像
这种方式不太适合大规模的镜像生成,一是对于镜像的构建内容无法回溯,二是操作效率比较低,但是在某些临时情况下却也有其方便之处,特别是开发测试时,如果临时需要安装一些新的软件,可以快捷生成新的镜像。
这里以生成一个自带Golang的镜像为例,演示如何使用commit生成镜像。
1.1.1、拉取Centos基础镜像
首先我们需要拉去一个Centos的基础镜像,Golang的安装将基于这个基础镜像进行操作。
搜索centos镜像:
[root@node1 ~]# docker search centos INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED docker.io docker.io/centos DEPRECATED; The official build of CentOS. 7529 [OK] docker.io docker.io/kasmweb/centos-7-desktop CentOS 7 desktop for Kasm Workspaces 33 docker.io docker.io/couchbase/centos7-systemd centos7-systemd images with additional deb... 7 [OK]
拉取STARS数量最高的官方镜像
[root@node1 ~]# docker pull centos Using default tag: latest Trying to pull repository docker.io/library/centos ... latest: Pulling from docker.io/library/centos a1d0c7532777: Pull complete Digest: sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177 Status: Downloaded newer image for docker.io/centos:latest
1.1.2、启动Centos容器并安装Go
[root@node1 ~]# docker run -it centos /bin/bash [root@311c53f54f2f /]# [root@311c53f54f2f /]# go version bash: go: command not found
这里证明基础的centos里面是没有golang的。
使用yum安装golang,发现如下错误提示
[root@311c53f54f2f /]# yum install go Failed to set locale, defaulting to C.UTF-8 CentOS Linux 8 - AppStream 71 B/s | 38 B 00:00 Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
这是因为yum源的问题,执行以下命令可以解决:
[root@311c53f54f2f yum.repos.d]# sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* [root@311c53f54f2f yum.repos.d]# sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* [root@311c53f54f2f yum.repos.d]# yum clean all Failed to set locale, defaulting to C.UTF-8 0 files removed [root@311c53f54f2f yum.repos.d]# yum makecache Failed to set locale, defaulting to C.UTF-8 CentOS Linux 8 - AppStream 2.6 MB/s | 8.4 MB 00:03 CentOS Linux 8 - BaseOS 2.0 MB/s | 4.6 MB 00:02 CentOS Linux 8 - Extras 7.7 kB/s | 10 kB 00:01 Metadata cache created.
正常成功安装golang
[root@311c53f54f2f yum.repos.d]# yum install go [root@311c53f54f2f yum.repos.d]# go version go version go1.16.12 linux/amd64
1.1.3、commit生成新镜像
首先使用docker ps
查看当前的容器container id,这里是311c53f54f2f
。
[root@node1 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 311c53f54f2f centos "/bin/bash" 13 minutes ago Up 13 minutes
使用docker commit
命令生成新的镜像
[root@node1 ~]# docker commit -a "lucas" -m "install golang" 311c53f54f2f centos-go:v1 sha256:019ab02d451defb75e2ee03948289ed008036ba7ec8a355cae28bdf7fbce07d2
再次使用docker image
可以看到我们生成的centos-go的新镜像。
[root@node1 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos-go v1 019ab02d451d 2 minutes ago 805 MB docker.io/busybox latest bab98d58e29e 8 days ago 4.86 MB docker.io/nginx latest 904b8cb13b93 13 days ago 142 MB docker.io/centos latest 5d0da3dc9764 18 months ago 231 MB
1.1.4、使用新镜像验证Golang环境
[root@node1 ~]# docker run -it centos-go:v1 /bin/bash [root@daff0519f2ca /]# go version go version go1.16.12 linux/amd64
1.2、使用Dockerfile生成镜像
Dockerfile是一个包含Docker镜像构建指令的文本文件,用于自动化Docker镜像的构建过程。Dockerfile通过一系列指令来描述镜像的构建过程,包括基础镜像、依赖安装、文件拷贝、环境变量配置、启动命令等。Dockerfile的语法是类似于Shell脚本的语言。
Dockerfile包含四个部分:基础镜像信息、维护者信息、镜像操作命令和容器启动命令。在Dockerfile中,注释以#开头,可用于说明指令作用或提供其他注释信息。
以下是一些常见的Dockerfile命令:
FROM:指定基础镜像,例如
FROM ubuntu:latest
,FROM指令必须是除了注释意外的第一条指令,后续紧跟维护者信息指令。MAINTAINER:指定维护者的信息,例如
MAINTAINER lucas
。RUN:在镜像中运行命令,例如
RUN apt-get update && apt-get install -y nginx
。CMD:指定容器启动时要运行的命令,例如CMD [“nginx”, “-g”, “daemon off;”]。
EXPOSE:声明容器要监听的端口,例如
EXPOSE 80
。ENV:设置环境变量,例如
ENV NODE_ENV production
。ADD:将文件复制到镜像中,例如
ADD app.js /app.js
。COPY:将文件复制到镜像中,例如
COPY app.js /app.js
。WORKDIR:设置工作目录,例如
WORKDIR /app
。USER:设置容器启动时要使用的用户,例如
USER nginx
。VOLUME:声明容器数据卷,例如
VOLUME /data
。ENTRYPOINT:指定容器启动时要运行的命令,例如
ENTRYPOINT ["nginx", "-g", "daemon off;"]
。
除了这些常用命令,Dockerfile还有其他可用命令。可以查看Docker官方文档以获取更多信息。
完成了dockerfile的配置以后,使用docker build
就可以构建镜像了。docker build
命令可以通过指定不同的参数来自定义构建过程。例如,你可以使用--no-cache
选项来强制Docker在构建镜像时不使用缓存,或者使用--build-arg
选项来传递构建时需要的环境变量。可以通过docker build --help
1.1. Verwenden Sie Commit, um Bilder zu generieren
Diese Methode ist nicht für die Generierung von Bildern in großem Maßstab geeignet. Zweitens ist die Operationseffizienz relativ gering. In einigen vorübergehenden Situationen bietet das Herunterladen jedoch auch eine praktische Funktion, insbesondere während der Entwicklung und beim Testen. Wenn Sie vorübergehend neue Software installieren müssen, können Sie schnell ein neues Image erstellen. Hier ist ein Beispiel für die Generierung eines Bildes, das mit Golang geliefert wird, um zu demonstrieren, wie Commit zum Generieren eines Bildes verwendet wird.1.1.1. Ziehen Sie das Centos-Basis-Image herunter
Zuerst müssen wir ein Centos-Basis-Image abrufen, das auf diesem Basis-Image basiert. 🎜🎜Centos-Bild suchen: 🎜FROM openjdk:18-jdk-alpine MAINTAINER lucas COPY target/demo-0.0.1-SNAPSHOT.jar /usr/app/ WORKDIR /usr/app EXPOSE 8080 ENTRYPOINT ["java", "-jar", "demo-0.0.1-SNAPSHOT.jar"]
docker build -t demo:latest .
1.1.2, starten Sie den Centos-Container und installieren Sie Go
[root@node1 docker]# docker build -t demo:latest . Sending build context to Docker daemon 51.05 MB Step 1/6 : FROM openjdk:18-jdk-alpine ---> c89120dcca4c Step 2/6 : MAINTAINER lucas ---> Running in 3d0ae6d2a813 ---> 085b9066ca7b Removing intermediate container 3d0ae6d2a813 Step 3/6 : COPY target/demo-0.0.1-SNAPSHOT.jar /usr/app/ ---> c5c77f80f179 Removing intermediate container 00228e4b0aed Step 4/6 : WORKDIR /usr/app ---> bdb555e3fb18 Removing intermediate container 35682266f140 Step 5/6 : EXPOSE 8080 ---> Running in 499d9888fa01 ---> 0fca023e8f23 Removing intermediate container 499d9888fa01 Step 6/6 : ENTRYPOINT java -jar demo-0.0.1-SNAPSHOT.jar ---> Running in 661fdaafa31d ---> 61e80950d665 Removing intermediate container 661fdaafa31d Successfully built 61e80950d665
docker run -d -p 8080:8080 demo:latest
1.1 .3, verpflichten Sie sich, ein neues Bild zu generieren h5>🎜Verwenden Sie zunächst docker ps
, um die aktuelle Container-Container-ID anzuzeigen, die 311c53f54f2f
ist. 🎜rrreee🎜Verwenden Sie den Befehl docker commit
, um ein neues Image zu generieren. 🎜rrreee🎜Verwenden Sie docker image
erneut, um das neue Image von Centos-go zu sehen, das wir generiert haben. 🎜rrreee1.1.4, Verwenden Sie das neue Image, um die Golang-Umgebung zu überprüfen
rrreee1.2, Verwenden Sie Dockerfile, um das Image zu generieren
🎜Dockerfile ist eine Textdatei, die Anweisungen zum Erstellen von Docker-Images enthält. Wird zur Automatisierung des Docker-Image-Erstellungsprozesses verwendet. Dockerfile beschreibt den Image-Erstellungsprozess anhand einer Reihe von Anweisungen, einschließlich Basis-Image, Abhängigkeitsinstallation, Dateikopie, Konfiguration von Umgebungsvariablen, Startbefehl usw. Die Syntax von Dockerfile ist eine Sprache, die der Shell-Skripterstellung ähnelt. 🎜🎜Dockerfile enthält vier Teile: grundlegende Image-Informationen, Betreuerinformationen, Image-Betriebsbefehl und Container-Startbefehl. In Dockerfile können Kommentare, die mit # beginnen, verwendet werden, um die Funktion von Anweisungen zu erläutern oder andere Kommentarinformationen bereitzustellen. 🎜🎜Im Folgenden sind einige gängige Dockerfile-Befehle aufgeführt: 🎜- 🎜FROM: Geben Sie das Basis-Image an, z. B.
FROM ubuntu:latest
, das FROM Die Anweisung muss sein. Befolgen Sie zusätzlich zum Auskommentieren der unerwarteten ersten Anweisung die Anweisung „Betreuerinformationen“. 🎜 - 🎜MAINTAINER: Geben Sie die Informationen des Betreuers an, z. B.
MAINTAINER lucas
. 🎜 - 🎜RUN: Führen Sie Befehle im Image aus, z. B.
RUN apt-get update && apt-get install -y nginx
. 🎜 - 🎜CMD: Geben Sie den Befehl an, der beim Start des Containers ausgeführt werden soll, z. B. CMD ["nginx", "-g", "daemon off;"]. 🎜
- 🎜EXPOSE: Deklarieren Sie den Port, auf den der Container lauscht, z. B.
EXPOSE 80
. 🎜 - 🎜ENV: Umgebungsvariablen festlegen, z. B.
ENV NODE_ENV Produktion
. 🎜 - 🎜ADD: Kopieren Sie die Datei in das Bild, z. B.
ADD app.js /app.js
. 🎜 - 🎜KOPIEREN: Kopieren Sie die Datei in das Bild, z. B.
COPY app.js /app.js
. 🎜 - 🎜WORKDIR: Legen Sie das Arbeitsverzeichnis fest, z. B.
WORKDIR /app
. 🎜 - 🎜USER: Legen Sie den Benutzer fest, der beim Starten des Containers verwendet werden soll, z. B.
USER nginx
. 🎜 - 🎜VOLUME: Deklarieren Sie das Containerdatenvolumen, z. B.
VOLUME /data
. 🎜 - 🎜ENTRYPOINT: Geben Sie den Befehl an, der beim Start des Containers ausgeführt werden soll, z. B.
ENTRYPOINT ["nginx", "-g", "daemon off;"]
. 🎜 🎜🎜Zusätzlich zu diesen allgemeinen Befehlen stehen in Dockerfile weitere Befehle zur Verfügung. Weitere Informationen finden Sie in der offiziellen Docker-Dokumentation. 🎜🎜Nach Abschluss der Konfiguration der Docker-Datei verwenden Sie docker build
, um das Image zu erstellen. Der Befehl docker build
kann den Build-Prozess durch Angabe verschiedener Parameter anpassen. Sie können beispielsweise die Option --no-cache
verwenden, um Docker zu zwingen, den Cache beim Erstellen des Images nicht zu verwenden, oder die Option --build-arg
verwenden, um Docker dazu zu zwingen, den Cache nicht zu verwenden Übergeben Sie die erforderlichen Build-Umgebungsvariablen. Sie können alle verfügbaren Optionen über den Befehl docker build --help
anzeigen. 🎜🎜2. Generieren Sie ein Springboot-Image basierend auf Dockerfile🎜🎜Hier zeigen wir, wie Sie mit Dockerfile ein Springboot-Webanwendungs-Image erstellen und Docker zum Starten des Containers verwenden. 🎜2.1、准备springboot应用jar包
我们准备一个基于springboot开发的应用服务,这个服务开放8080端口,访问是返回一个用户的姓名信息。
为了方便,可以使用spring initializr 在线生成demo代码,在demo代码的基础上开发一个controller返回一个User对象的name信息,由于这块代码比较简单,这里就不详述过程了。

代码完成以后使用mvn clean package
进行打包,这里打包成功以后生成了demo-0.0.1-SNAPSHOT.jar,我们使用java -jar demo-0.0.1-SNAPSHOT.jar
就可以运行这个应用程序。
2.2、编写Dockerfile
在项目根目录下创建一个名为Dockerfile
的文件,并在其中添加以下内容:
FROM openjdk:18-jdk-alpine
MAINTAINER lucas
COPY target/demo-0.0.1-SNAPSHOT.jar /usr/app/
WORKDIR /usr/app
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "demo-0.0.1-SNAPSHOT.jar"]
Nach dem Login kopierenNach dem Login kopieren在上面的Dockerfile中,FROM
指令指定了基础镜像为openjdk:18-jdk-alpine
,COPY
指令将构建好的可执行jar包复制到容器中,WORKDIR
指令设置工作目录为/usr/app
,EXPOSE
指令指定了容器运行的端口为8080
,ENTRYPOINT
指令指定了容器启动时要执行的命令为java -jar demo-0.0.1-SNAPSHOT.jar
。
在终端中进入项目根目录,然后执行以下命令构建镜像:
docker build -t demo:latest .
Nach dem Login kopierenNach dem Login kopieren其中,-t
参数指定了镜像的名称和版本号,.
参数指定了Dockerfile所在的目录。
[root@node1 docker]# docker build -t demo:latest .
Sending build context to Docker daemon 51.05 MB
Step 1/6 : FROM openjdk:18-jdk-alpine
---> c89120dcca4c
Step 2/6 : MAINTAINER lucas
---> Running in 3d0ae6d2a813
---> 085b9066ca7b
Removing intermediate container 3d0ae6d2a813
Step 3/6 : COPY target/demo-0.0.1-SNAPSHOT.jar /usr/app/
---> c5c77f80f179
Removing intermediate container 00228e4b0aed
Step 4/6 : WORKDIR /usr/app
---> bdb555e3fb18
Removing intermediate container 35682266f140
Step 5/6 : EXPOSE 8080
---> Running in 499d9888fa01
---> 0fca023e8f23
Removing intermediate container 499d9888fa01
Step 6/6 : ENTRYPOINT java -jar demo-0.0.1-SNAPSHOT.jar
---> Running in 661fdaafa31d
---> 61e80950d665
Removing intermediate container 661fdaafa31d
Successfully built 61e80950d665
Nach dem Login kopierenNach dem Login kopieren可以看到构建成功,使用docker images
可以查看到构建成功的镜像。

三、运行容器服务,验证镜像的可用性
以上步骤已经使用docker build生成了镜像,接下来就可以使用这个镜像启动容器,启动后会自动启动应用程序。
在终端中执行以下命令启动容器:
docker run -d -p 8080:8080 demo:latest
Nach dem Login kopierenNach dem Login kopieren其中,-d
参数指定了容器在后台运行,-p
参数指定了容器的端口映射,demo:latest
参数指定了要运行的镜像名称和版本号。
访问对应的web服务进行访问验证,结果如下:

Das obige ist der detaillierte Inhalt vonSo erstellen Sie ein Springboot-Webanwendungs-Image und stellen es mithilfe von Containern bereit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
FROM ubuntu:latest
, das FROM Die Anweisung muss sein. Befolgen Sie zusätzlich zum Auskommentieren der unerwarteten ersten Anweisung die Anweisung „Betreuerinformationen“. 🎜MAINTAINER lucas
. 🎜RUN apt-get update && apt-get install -y nginx
. 🎜EXPOSE 80
. 🎜ENV NODE_ENV Produktion
. 🎜ADD app.js /app.js
. 🎜COPY app.js /app.js
. 🎜WORKDIR /app
. 🎜USER nginx
. 🎜VOLUME /data
. 🎜ENTRYPOINT ["nginx", "-g", "daemon off;"]
. 🎜docker build
, um das Image zu erstellen. Der Befehl docker build
kann den Build-Prozess durch Angabe verschiedener Parameter anpassen. Sie können beispielsweise die Option --no-cache
verwenden, um Docker zu zwingen, den Cache beim Erstellen des Images nicht zu verwenden, oder die Option --build-arg
verwenden, um Docker dazu zu zwingen, den Cache nicht zu verwenden Übergeben Sie die erforderlichen Build-Umgebungsvariablen. Sie können alle verfügbaren Optionen über den Befehl docker build --help
anzeigen. 🎜🎜2. Generieren Sie ein Springboot-Image basierend auf Dockerfile🎜🎜Hier zeigen wir, wie Sie mit Dockerfile ein Springboot-Webanwendungs-Image erstellen und Docker zum Starten des Containers verwenden. 🎜2.1、准备springboot应用jar包
我们准备一个基于springboot开发的应用服务,这个服务开放8080端口,访问是返回一个用户的姓名信息。
为了方便,可以使用spring initializr 在线生成demo代码,在demo代码的基础上开发一个controller返回一个User对象的name信息,由于这块代码比较简单,这里就不详述过程了。
代码完成以后使用mvn clean package
进行打包,这里打包成功以后生成了demo-0.0.1-SNAPSHOT.jar,我们使用java -jar demo-0.0.1-SNAPSHOT.jar
就可以运行这个应用程序。
2.2、编写Dockerfile
在项目根目录下创建一个名为Dockerfile
的文件,并在其中添加以下内容:
FROM openjdk:18-jdk-alpine MAINTAINER lucas COPY target/demo-0.0.1-SNAPSHOT.jar /usr/app/ WORKDIR /usr/app EXPOSE 8080 ENTRYPOINT ["java", "-jar", "demo-0.0.1-SNAPSHOT.jar"]
在上面的Dockerfile中,FROM
指令指定了基础镜像为openjdk:18-jdk-alpine
,COPY
指令将构建好的可执行jar包复制到容器中,WORKDIR
指令设置工作目录为/usr/app
,EXPOSE
指令指定了容器运行的端口为8080
,ENTRYPOINT
指令指定了容器启动时要执行的命令为java -jar demo-0.0.1-SNAPSHOT.jar
。
在终端中进入项目根目录,然后执行以下命令构建镜像:
docker build -t demo:latest .
其中,-t
参数指定了镜像的名称和版本号,.
参数指定了Dockerfile所在的目录。
[root@node1 docker]# docker build -t demo:latest . Sending build context to Docker daemon 51.05 MB Step 1/6 : FROM openjdk:18-jdk-alpine ---> c89120dcca4c Step 2/6 : MAINTAINER lucas ---> Running in 3d0ae6d2a813 ---> 085b9066ca7b Removing intermediate container 3d0ae6d2a813 Step 3/6 : COPY target/demo-0.0.1-SNAPSHOT.jar /usr/app/ ---> c5c77f80f179 Removing intermediate container 00228e4b0aed Step 4/6 : WORKDIR /usr/app ---> bdb555e3fb18 Removing intermediate container 35682266f140 Step 5/6 : EXPOSE 8080 ---> Running in 499d9888fa01 ---> 0fca023e8f23 Removing intermediate container 499d9888fa01 Step 6/6 : ENTRYPOINT java -jar demo-0.0.1-SNAPSHOT.jar ---> Running in 661fdaafa31d ---> 61e80950d665 Removing intermediate container 661fdaafa31d Successfully built 61e80950d665
可以看到构建成功,使用docker images
可以查看到构建成功的镜像。
三、运行容器服务,验证镜像的可用性
以上步骤已经使用docker build生成了镜像,接下来就可以使用这个镜像启动容器,启动后会自动启动应用程序。
在终端中执行以下命令启动容器:
docker run -d -p 8080:8080 demo:latest
其中,-d
参数指定了容器在后台运行,-p
参数指定了容器的端口映射,demo:latest
参数指定了要运行的镜像名称和版本号。
访问对应的web服务进行访问验证,结果如下:
Das obige ist der detaillierte Inhalt vonSo erstellen Sie ein Springboot-Webanwendungs-Image und stellen es mithilfe von Containern bereit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



SpringBoot und SpringMVC sind beide häufig verwendete Frameworks in der Java-Entwicklung, es gibt jedoch einige offensichtliche Unterschiede zwischen ihnen. In diesem Artikel werden die Funktionen und Verwendungsmöglichkeiten dieser beiden Frameworks untersucht und ihre Unterschiede verglichen. Lassen Sie uns zunächst etwas über SpringBoot lernen. SpringBoot wurde vom Pivotal-Team entwickelt, um die Erstellung und Bereitstellung von Anwendungen auf Basis des Spring-Frameworks zu vereinfachen. Es bietet eine schnelle und einfache Möglichkeit, eigenständige, ausführbare Dateien zu erstellen

In diesem Artikel wird ein detailliertes Beispiel geschrieben, um über die tatsächliche Entwicklung von Dubbo + Nacos + Spring Boot zu sprechen. In diesem Artikel wird nicht zu viel theoretisches Wissen behandelt, sondern das einfachste Beispiel wird geschrieben, um zu veranschaulichen, wie Dubbo in Nacos integriert werden kann, um schnell eine Entwicklungsumgebung aufzubauen.

Gesichtsblockierendes Sperrfeuer bedeutet, dass eine große Anzahl von Sperrfeuern vorbeischwebt, ohne die Person im Video zu blockieren, sodass es aussieht, als würden sie hinter der Person schweben. Maschinelles Lernen erfreut sich seit mehreren Jahren großer Beliebtheit, aber viele Menschen wissen nicht, dass diese Funktionen auch in Browsern ausgeführt werden können. Dieser Artikel stellt den praktischen Optimierungsprozess in Videosperren vor diese Lösung, in der Hoffnung, einige Ideen zu öffnen. mediapipeDemo (https://google.github.io/mediapipe/) demonstriert das Implementierungsprinzip des On-Demand-Uploads mit Gesichtsblockierung. Die Hintergrundberechnung des Videoservers extrahiert den Porträtbereich im Videobildschirm und konvertiert ihn in SVG Speichern, während der Client das Video abspielt. Laden Sie SVG vom Server herunter und kombinieren Sie es mit Barrage, Portrait

Verwendung von Jetty7 für die Webserververarbeitung in der JavaAPI-Entwicklung Mit der Entwicklung des Internets ist der Webserver zum Kernbestandteil der Anwendungsentwicklung geworden und steht auch im Fokus vieler Unternehmen. Um den wachsenden Geschäftsanforderungen gerecht zu werden, entscheiden sich viele Entwickler für die Verwendung von Jetty für die Webserverentwicklung, und seine Flexibilität und Skalierbarkeit sind weithin anerkannt. In diesem Artikel wird erläutert, wie Sie Jetty7 für die Webentwicklung in der JavaAPI-Entwicklung verwenden.

Die Formularvalidierung ist ein sehr wichtiger Link bei der Entwicklung von Webanwendungen. Sie kann die Gültigkeit der Daten vor dem Absenden der Formulardaten überprüfen, um Sicherheitslücken und Datenfehler in der Anwendung zu vermeiden. Die Formularvalidierung für Webanwendungen kann einfach mit Golang implementiert werden. In diesem Artikel wird erläutert, wie Sie mit Golang die Formularvalidierung für Webanwendungen implementieren. 1. Grundelemente der Formularvalidierung Bevor wir uns mit der Implementierung der Formularvalidierung befassen, müssen wir die Grundelemente der Formularvalidierung kennen. Formularelemente: Formularelemente sind

PHP gehört zum Backend in der Webentwicklung. PHP ist eine serverseitige Skriptsprache, die hauptsächlich zur Verarbeitung serverseitiger Logik und zur Generierung dynamischer Webinhalte verwendet wird. Im Vergleich zur Front-End-Technologie wird PHP eher für Back-End-Vorgänge wie die Interaktion mit Datenbanken, die Verarbeitung von Benutzeranfragen und die Generierung von Seiteninhalten verwendet. Anschließend wird anhand konkreter Codebeispiele die Anwendung von PHP in der Backend-Entwicklung veranschaulicht. Schauen wir uns zunächst ein einfaches PHP-Codebeispiel zum Herstellen einer Verbindung zu einer Datenbank und zum Abfragen von Daten an:

Cockpit ist eine webbasierte grafische Oberfläche für Linux-Server. Es soll vor allem neuen/erfahrenen Benutzern die Verwaltung von Linux-Servern erleichtern. In diesem Artikel besprechen wir die Cockpit-Zugriffsmodi und wie Sie den Administratorzugriff von CockpitWebUI auf das Cockpit umstellen. Inhaltsthemen: Cockpit-Eingabemodi Ermitteln des aktuellen Cockpit-Zugriffsmodus Aktivieren des Verwaltungszugriffs für das Cockpit über CockpitWebUI Deaktivieren des Verwaltungszugriffs für das Cockpit über CockpitWebUI Fazit Cockpit-Eingabemodi Das Cockpit verfügt über zwei Zugriffsmodi: Eingeschränkter Zugriff: Dies ist die Standardeinstellung für den Cockpit-Zugriffsmodus. In diesem Zugriffsmodus können Sie vom Cockpit aus nicht auf den Webbenutzer zugreifen

Häufig verwendete Verzeichnisse für SpringBoot-Projekte werden auf der Grundlage der Verzeichnisstruktur und Benennungsspezifikationen während der SpringBoot-Entwicklung eingeführt. Durch die Einführung können wir Ihnen bei der tatsächlichen Planung der Verzeichnisstruktur helfen Projekte? Wie können Verzeichnisse standardisierter benannt werden? Was bedeuten die einzelnen Verzeichnisse? Warten Sie drei Fragen. Verzeichnisbeschreibung servicex//Projektname|-admin-ui//Front-End-Code für den Verwaltungsdienst (normalerweise werden UI und SERVICE zur einfachen Verwaltung in einem Projekt zusammengefasst)|-servicex-auth//Modul 1|-servicex-common// Modul 2|-servicex-gateway//Modul 3|
