From 3de9a70c67bd2949e0582a9b5345324d095d237b Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期一, 09 十二月 2024 19:36:20 +0800
Subject: [PATCH] 1

---
 se-modules/se-docker/src/main/java/com/se/docker/service/SysDockerService.java |   49 +++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 47 insertions(+), 2 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 b5bfd93..d97cab8 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,8 +1,8 @@
 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.api.command.*;
+import com.github.dockerjava.api.model.PullResponseItem;
 import com.github.dockerjava.core.DockerClientBuilder;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -51,4 +51,49 @@
             log.error(ex.getMessage(), ex);
         }
     }
+
+    public void s() throws Exception {
+        // 鑾峰彇榛樿鐨� Docker Client
+        DockerClient dockerClient = DockerClientBuilder.getInstance().build();
+
+        // 鎷夊彇闀滃儚
+        String image = "openjdk:8-alpine";
+        PullImageCmd pullImageCmd = dockerClient.pullImageCmd(image);
+        PullImageResultCallback pullImageResultCallback = new PullImageResultCallback() {
+            @Override
+            public void onNext(PullResponseItem item) {
+                System.out.println("涓嬭浇闀滃儚锛�" + item.getStatus());
+                super.onNext(item);
+            }
+        };
+        pullImageCmd
+                .exec(pullImageResultCallback)
+                .awaitCompletion();
+        System.out.println("涓嬭浇瀹屾垚");
+
+        // 鍒涘缓瀹瑰櫒
+        CreateContainerCmd containerCmd = dockerClient.createContainerCmd(image);
+        CreateContainerResponse createContainerResponse = containerCmd
+                .withCmd("echo", "Hello Docker")
+                .exec();
+        System.out.println(createContainerResponse);
+
+        // 鍚姩瀹瑰櫒
+        String containerId = "";
+        dockerClient.startContainerCmd(containerId).exec();
+
+        // 鏋勫缓鍋滄瀹瑰櫒鐨勫懡浠�
+        StopContainerCmd stopContainerCmd = dockerClient.stopContainerCmd(containerId);
+        // 鎵ц鍛戒护
+        stopContainerCmd.exec();
+
+        // 鍒犻櫎瀹瑰櫒
+        dockerClient.removeContainerCmd(containerId).withForce(true).exec();
+
+        // 鍒犻櫎闀滃儚
+        dockerClient.removeImageCmd(image).exec();
+
+        // 閲嶅惎瀹瑰櫒
+        dockerClient.restartContainerCmd(containerId).exec();
+    }
 }

--
Gitblit v1.9.3