No sábado dia 12 novembro/2016 tivemos aqui na cidade de Campo Grande um dos melhores eventos de Tecnologia da Informação do Estado de Mato Grosso do Sul.

Uma das palestra aprovada para esta edição foi a minha Iniciando com Docker, confesso que fiquei muito feliz pela primeira oportunidade de compartilhar o conhecimento, com diversas pessoas que estiveram presente. Veja no final desse post somente 3 images do evento :).

Mas vamos ao foco do post. Usando Docker para escalar sua aplicação, preparamos um repositório com um cenário além do básico em docker. Para iniciar seus estudos com docker sugiro que você fazer uma cópia deste projeto: Link do projeto. Segue abaixo como ficou nosso Layout.

  • Criando serviço de banco de dados MySQL - 1-mysql
docker pull mysql:5.6
docker build -t mysql:5.6 .
docker run -d –name localhost -p 3306:3306 mysql:5.6
docker exec -i localhost service mysql status
docker exec -i localhost mysql -u root -pknkA9n7YnzvrDLE -h localhost cobranca < cobranca.sql 2> /dev/null

Detalhando os passos acima: Primeiramente faremos o pull da image do docker do mysql com a versão 5.6; Alteramos a image com base nas informações que estão no Dockerfile; criamos um container e no item 6 restauramos um backup do banco de dados.

  • Criando um cluster de serviço para app - 2-tomcat
docker pull tomcat:8.5-jre8
docker build -t tomcat:8.5-jre8 .
docker run -d –name tomcat1 –link localhost:localhost -p 8081:8080 tomcat:8.5-jre8
docker run -d –name tomcat2 –link localhost:localhost -p 8082:8080 tomcat:8.5-jre8
docker run -d –name tomcat3 –link localhost:localhost -p 8083:8080 tomcat:8.5-jre8
docker pull anspfeifer/varnish:1.0
docker run -it –name varnish –link tomcat1:tomcat1 –link tomcat2:tomcat2 –link tomcat3:tomcat3 -p 6081:6081 anspfeifer/varnish:1.0
docker exec -it varnish /etc/init.d/varnish restart

Detalhando os passos acima: Primeiramente faremos o pull da image do docker que preparei com base no Dockerfile. Já no segundo passo nos criamos um container para o cache, e observe novamente o parâmetro –link, mas agora neste caso estamos linkando o varnish aos 3 tomcat. Já para o ultimo passo temos que jazer um restart no serviço, para este exemplo podemos fazer de duas forma. De fora para dentro como esta no item 3, ou de dentro para fora da seguinte forma: docker exec -it varnish bash, fazendo o login como root no container e executar /etc/init.d/varnish restart.

  • Criando um serviço de cache - 4-nginx
docker pull nginx
docker run -d –name nginx –link varnish:varnish -p 80:80 nginx
docker cp default.conf nginx:/etc/nginx/conf.d/default.conf
docker restart nginx

Detalhando os passos acima: Primeiramente faremos o pull da image do docker nginx; Criamos o serviço de proxy reverso linkando ele ao varnish; Copiamos o arquivo de config para dentro do container. E reiniciamos o container com docker restart nginx.

Para compor este cenário com 6 container docker procuramos usar algum dos principais comandos, você pode continuar seus estudos sobre esta tecnologia que esta revolucionado o mercado de TI, para lhe ajudar nesta tarefa estamos alimentando o Bizu Docker que é um ebook aberto que você pode ler e ate mesmo nos ajudar a editar. Acesse agora mesmo e bons estudos.