From 864536db862bcde4ac0f281cff54cd4940380976 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期日, 08 十二月 2024 20:05:35 +0800
Subject: [PATCH] 1

---
 se-modules/se-docker/src/main/java/com/se/docker/service/SysDockerService.java |   39 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 39 insertions(+), 0 deletions(-)

diff --git a/se-modules/se-docker/src/main/java/com/se/docker/service/SysDockerService.java b/se-modules/se-docker/src/main/java/com/se/docker/service/SysDockerService.java
index 4de57df..b5bfd93 100644
--- a/se-modules/se-docker/src/main/java/com/se/docker/service/SysDockerService.java
+++ b/se-modules/se-docker/src/main/java/com/se/docker/service/SysDockerService.java
@@ -1,5 +1,11 @@
 package com.se.docker.service;
 
+import com.github.dockerjava.api.DockerClient;
+import com.github.dockerjava.api.command.CreateContainerResponse;
+import com.github.dockerjava.api.command.InspectContainerResponse;
+import com.github.dockerjava.core.DockerClientBuilder;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
@@ -9,7 +15,40 @@
     //@Value("${docker.prefix}")
     public String localFilePrefix;
 
+    private static final Logger log = LoggerFactory.getLogger(SysDockerService.class);
+
     public String test() throws Exception {
         return "docker: " + System.currentTimeMillis();
     }
+
+    /**
+     * java DockerClient鎿嶄綔
+     * https://blog.csdn.net/weixin_45198228/article/details/130060333
+     */
+    public void t() {
+        try {
+            // 鍒涘缓Docker瀹㈡埛绔疄渚�
+            DockerClient dockerClient = DockerClientBuilder.getInstance("unix:///var/run/docker.sock").build();
+
+            // 鍒涘缓骞跺惎鍔ㄤ竴涓柊鐨勫鍣�
+            CreateContainerResponse container = dockerClient.createContainerCmd("busybox")
+                    .withCmd("echo", "Hello Docker!")
+                    .exec();
+
+            // 鍚姩瀹瑰櫒
+            dockerClient.startContainerCmd(container.getId()).exec();
+
+            // 妫�鏌ュ鍣ㄧ姸鎬�
+            InspectContainerResponse inspectContainerResponse = dockerClient.inspectContainerCmd(container.getId()).exec();
+            System.out.println(inspectContainerResponse.toString());
+
+            // 鍋滄骞剁Щ闄ゅ鍣�
+            dockerClient.removeContainerCmd(container.getId()).withRemoveVolumes(true).exec();
+
+            // 鍏抽棴Docker瀹㈡埛绔�
+            dockerClient.close();
+        } catch (Exception ex) {
+            log.error(ex.getMessage(), ex);
+        }
+    }
 }

--
Gitblit v1.9.3