Introdução
Este post tem por objetivo, incluir a aplicação Spring Data REST e H2 sob o container Docker.
Premissa
- Executar o procedimento do post Spring Data REST e H2.
- Rodar sob o Sistema Operacional Linux.
Procedimento
Com a aplicação importada em sua IDE de preferência, crie o arquivo Dockerfile (sem extensão) na raiz do projeto.
IMPORTANTE: O arquivo deve ser criado com a primeira letra maiúscula e o restante minúscula (Dockerfile). Se não for respeitado o nome, não funcionará.
Dockerfile
FROM java:8 VOLUME /tmp ADD target/spring-rest-data-h2-1.0.0.jar app.jar ENTRYPOINT [ "sh", "-c", "java -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]
Prompt de Comando (Terminal)
# docker build .
Aguarde todo o processo de download e instalação.
# docker images
Mostrará a imagem criada, conforme o arquivo de configuração (ex: java:8).
# docker build -t java:8 .
Identificará o REPOSITORY e TAG.
# docker run -it -p 8000:8080 java:8
Isso fará subir a imagem (java:8) sob a porta local 8000 e porta no container 8080. Perceba também que já subirá sua aplicação Spring Boot (java -jar /app.jar).
Agora, basta abrir um navegador na máquina e digitar:
http://localhost:8000
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
[]
Aparecerá 2 colchetes, informando que o banco de usuários está vazio.
Pronto! Sua aplicação agora, está rodando sob o container Docker.
# CTRL + p + q (sairá do container, mas continuará rodando)
# docker stats [[CONTAINER_ID]] (apresentará o consumo de CPU, Memória e IO)
CONTAINER CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS bbcf887896ac 0.09% 326.9MiB / 3.659GiB 8.72% 26.4kB / 4.44kB 90.2MB / 0B 34
# docker stop bbcf887896ac (baixará o container)
# docker start
Remover todas as imagens (CUIDADO)
# docker rmi $(docker images -q)