|
@@ -1,8 +1,8 @@
|
|
|
package cn.reghao.devops.agent.task;
|
|
package cn.reghao.devops.agent.task;
|
|
|
|
|
|
|
|
import cn.reghao.devops.common.docker.Docker;
|
|
import cn.reghao.devops.common.docker.Docker;
|
|
|
-import cn.reghao.devops.common.docker.po.ContainerInfo;
|
|
|
|
|
-import cn.reghao.devops.common.docker.po.ImageInfo;
|
|
|
|
|
|
|
+import com.github.dockerjava.api.command.InspectContainerResponse;
|
|
|
|
|
+import com.github.dockerjava.api.model.Image;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
@@ -23,11 +23,16 @@ public class ImageCleanTask implements Runnable {
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public void run() {
|
|
public void run() {
|
|
|
- Map<String, ImageInfo> map = docker.images().stream().collect(Collectors.toMap(ImageInfo::getImageId, info -> info));
|
|
|
|
|
- List<ContainerInfo> containerInfos = docker.psAll();
|
|
|
|
|
- for (ContainerInfo containerInfo : containerInfos) {
|
|
|
|
|
- String imageId = containerInfo.getImageId();
|
|
|
|
|
- ImageInfo imageInfo = map.remove(imageId);
|
|
|
|
|
|
|
+ Map<String, Image> map = docker.images().stream()
|
|
|
|
|
+ .collect(Collectors.toMap(Image::getId, image -> image));
|
|
|
|
|
+
|
|
|
|
|
+ List<InspectContainerResponse> list = docker.psAll();
|
|
|
|
|
+ for (InspectContainerResponse response : list) {
|
|
|
|
|
+ String imageId = response.getImageId();
|
|
|
|
|
+ Boolean running = response.getState().getRunning();
|
|
|
|
|
+ if (running != null && running) {
|
|
|
|
|
+ Image image = map.remove(imageId);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//map.keySet().forEach(docker::imageRm);
|
|
//map.keySet().forEach(docker::imageRm);
|