Simples projeto JavaWeb usando o Docker
Concebido para resolução de atividade da disciplina de POS
Curso Análise e Desenvolvimento de Sistemas
IFPB Campus Cajazerias
Professor da disciplina Ricardo Job
Antes de tudo obtenha o Docker
- Java instalado
- Maven instalado
- Docker instalado
- IDE de sua preferência
Mas como estamos usando o Docker para a implantação pode usar apenas um Editor de texto como o Sublime ou Notepad++ ...
FROM tomcat
COPY target/docker-javaweb.war ${CATALINA_HOME}/webapps
FROM
: diz qual a imagem que precisamos
COPY
: diz o caminho de onde copiar os arquivos .war para a implantação
${CATALINA_HOME}/webapps
: lugar onde vamos armazenar os gloriosos arquivos
Este arquivo Dockerfile
, deve obrigatoriamente estar dentro do diretorio raiz do seu projeto.
docker build -t dockerlegal .
-t
: qual a tag que vamos atribuir a essa imagem
.
: caminho relativo (ou absoluto) para o arquivo Dockerfile
Depois que você executar o comando acima , caso você não tenha a imagem
do tomcat, o docker vai providenciar para você automaticamente, claro
isso acontece porque descrevemos isso no Dockerfile do projeto em questão.
FROM tomcat
COPY target/docker-javaweb.war ${CATALINA_HOME}/webapps
docker image ls
ou
docker images
docker run -p 8081:8080 -d --name application dockerlegal
-p
: o bind entre a porta do host local com a porta do container
-d
: o container seja executar em background não obstruindo o terminal
--name
: o nome do container
Agora va ate o browser a abra o seu projeto: http://localhost:8081/docker-javaweb
Acima nos configuramos a porta do tomcat para 8081 lembra?
No meu caso como ainda estou usando o Docker Toolbox no windows abro a aplicação em http://192.168.99.100:8081/docker-javaweb/
Para agilizar o processo de desenvolvimento vamos criar dois arquivos .sh:
run.sh
O arquivo run.sh deve conter o seguinte conteudo:
mvn clean package
docker build -t dockerlegal .
docker run -p 8081:8080 -d --name application dockerlegal
nonrun.sh
O arquivo nonrun.sh deve conter o seguinte conteudo:
mvn clean
docker stop application
docker rm application
docker rmi dockerlegal
Assim uma vez que você ja tenha as imagens e os containers criados você
não precsia digitar todas as vezes os comandos de criar a imagem
e o container apos cada atualização de seu projeto.
Simplesmente abra digite no docker:
sh run.sh
Vai fazer tudo de uma só vez :
- O maven vai criar o arquivo .war do projeto
- Vai criar a imagem da aplicação
- Por ultimo criar e iniciar o container da aplicação
sh nonrun.sh
Vai fazer tudo de uma só vez :
- O maven vai limpar o projeto
- Parar o container da aplicação
- Remover a aplicação
- Por ultimo vai remover a imagem da aplicação do Docker
docker container ls
docker ps -a
docker stop <container_id | container_name>
- Java - Lingugem de programação
- Maven - Gerenciador de dependencias
- Tomcat - Servidor Web usado para a implantação do projeto
- Docker - Gerenciador de containers onde podemos usar o container do Tomcat...
- NetBeans - Usado para escrever o codigo fonte do projeto
Nós usamos o Git .
- Wellington Lins
- Ao professor Ricardo Job
- A colega Michelle Oliveira