Primeiros passos de um DEV com Docker [Parte 3]

Essa é uma série de posts sobre o que tenho aprendido sobre Docker. Você pode encontrar os posts anteriores em:

Vamos então à definição arquitetural que irei utilizar para que o ambiente funcione. Para preparar o nosso ambiente, você vai precisar de:

  • JDK;
  • SDK Man;
  • Gradle;
  • Docker;
  • IDE a seu gosto
  • Git

Os ingredientes utilizados para configuração do projeto a nível de desenvolvimento serão mencionados no próximo post.

Para essa receita, tomo como padrão que você já possui o JDK instalado e configurado. Apenas coloquei ele como um passo a ser executado por haverem dependências deste com os demais componentes.

Estou fazendo esse tutorial pensando em ambientes Linux. Não que você não possa querer passar raiva para configurar todo esse ambiente em um sistema Windows, só não irei me focar nisso.

Vamos então começar adicionando o SDK Man e utilizá-lo para configuração de nosso ambiente com Gradle.

O SDK Man é uma ferramenta de configuração de múltiplas versões de softwares de desenvolvimento, tais como Ant, Gradle, Grails, Groovy, Maven, Scala, Spring Boot, dentre outros.

Sabe aquele tempo que você perde para configurar o Maven ou o Gradle na sua máquina? A configuração do M2_HOME, apontamento para a versão correta do JDK, e etc? Pois bem, o SDK Man veio tornar sua vida mais simples.

Após instalá-lo, é possível listar os softwares de desenvolvimento passíveis de serem instalados e configurados através do comando sdk list.

No nosso caso, iremos instalar o Gradle. Toda a configuração é muito simples, basta apenas inserir o comando: sdk install gradle.

Após baixar os pacotes correspondentes, será perguntado a você se você deseja tornar essa a versão default do software, lembrando que é possível gerenciar múltiplas versões do mesmo software.

Já mencionei por alto a ideia do Docker em outros posts, vamos então à configuração do mesmo em ambiente Linux.

No meu caso, estou usando atualmente o Linux Mint 17.3. Você pode buscar um melhor suporte para outra distro no próprio site do Docker, no meu caso, segui esse tutorial:

Quando instalei o Docker, tive 2 problemas:

  1. Executar os comandos do Docker sem a necessidade de se executar como super usuário;
  2. Executar os comandos do Docker-Compose, algo que será utilizado adiante.

Para a solução do primeiro problema, tive que executar a parte final do tutorial acima.

O segundo problema consegui solucionar executando o seguinte tutorial:

Uma vez configurado tudo, você pode executar o seguinte tutorial para um Hellow World

Como conselho, indico a vocês sempre buscarem um tutorial atualizado para instalação do Docker. Também tive um problema de instalar por vias não atualizadas e me deparar com o seguinte erro quando fui executar minha aplicação:

client and server don't have same version (client : 1.19, server: 1.18)

Após pesquisas, me ocorreu de ter configurado algumas coisas em versões diferentes. Sendo assim, eu reinstalei os componentes em um tutorial que apontava para a versão mais nova da minha distro Linux.

Quanto à IDE de desenvolvimento tenho utilizado o psicodélico Eclipse Neon. Acredito que isso não irá ser um grande empecilho para outras IDEs, mas irei focar meus esforços nesta.

A fim de versionar meu código e controlá-lo irei utilizar o GitHub, sendo o repositório deste encontrado em:

No próximo post irei definir as configurações utilizadas no projeto. Até lá