Este projeto é uma API REST desenvolvida em Spring Boot para gerenciar containers e imagens Docker utilizando a biblioteca docker-java.
Com esta API, você pode listar, criar, iniciar, parar e remover containers, além de gerenciar imagens Docker.
- Java 21
- Spring Boot 3.5.5
- Docker Java 3.6.0
- HttpClient5
- JNA
- Maven
- Lombok
# Linux
docker.socket.path=unix:///var/run/docker.sock
# Windows (Docker Desktop)
docker.socket.path=npipe:////./pipe/docker_engine
# TCP (se configurado no Docker)
# docker.socket.path=tcp://localhost:2375
🔹 Containers
Base URL: /api/containers
GET /api/containers?all=true- Parâmetros
all (boolean, default = true): se true, lista todos os containers (inclusive os parados).
- Resposta
[
{
"Id": "e90e34656806",
"Image": "nginx:latest",
"Status": "Up 5 minutes",
"Names": ["/nginx-container"]
}
]POST /api/containers?imageName=nginx:latest- Parâmetros
imageName nome da imagem a ser usada para criar o container.
POST /api/containers/{id}/startPOST /api/containers/{id}/stopDELETE /api/containers/{id}🔹 Imagens
Base URL:/api/images
GET /api/images- Resposta
[
{
"Id": "sha256:abcd1234",
"RepoTags": ["nginx:latest"],
"Size": 133700000
}
]GET /api/images/filter?filterName=nginx- Resposta
[
{
"Id": "sha256:abcd1234",
"RepoTags": ["nginx:latest"]
}
]git clone https://github.com/seu-usuario/docker-manager.git
cd docker-managermvn spring-boot:runhttp://localhost:8080/api