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