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