Ändern Sie den Dateiinformationspfad wie folgt:
/etc/docker/daemon.json
Fügen Sie den folgenden Inhalt in der Konfigurationsdatei hinzu:
"hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"]
Hinweis: Wenn kein solcher vorhanden ist Daemon.json, erstellen Sie einfach ein
touch daemon.json
tcp im Verzeichnis /etc/docker/, um den Remotezugriff zu ermöglichen. Wenn der lokale Zugriff nicht aktiviert ist, tritt bei der Verwendung auf dem Server der folgende Fehler auf :
Es kann keine Verbindung zum Docker-Daemon unter Unix hergestellt werden: ///var/run/docker.sock Läuft der Docker-Daemon?
Führen Sie nach Abschluss der Änderung die folgenden Befehle nacheinander aus:
#重新加载配置文件 systemctl daemon-reload # 重启服务 systemctl restart docker.service # 查看端口是否开启 默认端口2375 netstat -anp|grep 2375
Führen Sie den folgenden Befehl nacheinander aus:
添加指定需要开放的端口: firewall-cmd --zone=public --add-port=2375/tcp --permanent 重载入添加的端口: firewall-cmd --reload 查询指定端口是否开启成功: firewall-cmd --query-port=2375/tcp
Hinweis: Die obige Konfiguration wird vollständig ausgeführt, wenn die Firewall des Systems nicht aktiviert ist Auf meinem Server ist beispielsweise keine Firewall konfiguriert und beim Ausführen werden folgende Informationen angezeigt:
Schließlich sehen wir, ob unsere Konfiguration wirksam wird
curl http://127.0.0.1:2375/info
Wenn die folgenden Informationen angezeigt werden, ist die Konfiguration erfolgreich
Wenn Ihre Idea-Version höher ist, ist das Docker-Plugin integriert
Machen Sie sich keine Sorgen, wenn Sie es nicht haben, wir Sie können es selbst installieren wird in Ihrem Dienst angezeigt
Klicken Sie, um eine Verbindung herzustellen. Wir finden die Containerinformationen unserer Docker-Konfiguration<!--docker-maven-plugin插件打包--> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.0.0</version> <configuration> <!--镜像名称--> <imageName>${project.artifactId}</imageName> <!--指定标签--> <imageTags> <imageTag>latest</imageTag> </imageTags> <!--基础镜像jdk1.8--> <baseImage>java</baseImage> <!--制作者提供本人信息--> <maintainer>ninesun@qq.com</maintainer> <!--切换到Root目录--> <workdir>/ROOT</workdir> <cmd>["java", "-version"]</cmd> <entryPoint>["java", "-jar", "${project.build.finalName}.jar"]</entryPoint> <!--指定DockerFile路径--> <!-- <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>--> <!--指定远程docker api地址--> <dockerHost>http://192.168.1.2:2375</dockerHost> <!-- 这里是复制 jar 包到 docker 容器指定目录配置 --> <resources> <resource> <targetPath>/ROOT</targetPath> <!--用于指定需要复制的根目录--> <directory>${project.build.directory}</directory> <!--用于指定需要复制的jar文件--> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin>Alle meine Maven-Konfigurationen lauten wie folgt:
4.0.0 org.springframework.boot spring-boot-starter-parent 2.6.6 com.example docker 0.0.1-SNAPSHOT docker docker 11 true true org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test <!--docker-maven-plugin插件打包--> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.0.0</version> <configuration> <!--镜像名称--> <imageName>${project.artifactId}</imageName> <!--指定标签--> <imageTags> <imageTag>latest</imageTag> </imageTags> <!--基础镜像jdk1.8--> <baseImage>java</baseImage> <!--制作者提供本人信息--> <maintainer>ninesun@qq.com</maintainer> <!--切换到Root目录--> <workdir>/ROOT</workdir> <cmd>["java", "-version"]</cmd> <entryPoint>["java", "-jar", "${project.build.finalName}.jar"]</entryPoint> <!--指定DockerFile路径--> <!-- <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>--> <!--指定远程docker api地址--> <dockerHost>http://192.168.1.2:2375</dockerHost> <!-- 这里是复制 jar 包到 docker 容器指定目录配置 --> <resources> <resource> <targetPath>/ROOT</targetPath> <!--用于指定需要复制的根目录--> <directory>${project.build.directory}</directory> <!--用于指定需要复制的jar文件--> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin> org.springframework.boot spring-boot-maven-plugin
Wir müssen einen löschen. Starten Sie die Klasse. Andernfalls schlägt das Packen fehl. Ich habe das DockerApplication-Build-Image direkt gelöscht.
5.2-Build-Image Die folgende Meldung zeigt an, dass die Verpackung erfolgreich war
Auf dem Server ausführen
mvn docker:build
Außerdem können Sie die Bildinformationen sehen
5.3 Starten Sie das Image.
Sie können sehen, dass es erfolgreich bereitgestellt und erfolgreich aufgerufen wurde
Wir können sehen, dass wir in Idea auch das Bild sehen können, das wir gerade erfolgreich gestartet haben, und das Ausgabeprotokoll
Das obige ist der detaillierte Inhalt vonWie kann die Idee das SpringBoot-Projekt schnell in einem Docker-Image verpacken und bereitstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!