fga-eps-mds / 2020.2-CheeryUP

MDS.2020.2-Grupo 7
https://fga-eps-mds.github.io/2020.2-CheeryUP/
GNU General Public License v3.0
0 stars 8 forks source link

Docker estudo/config inicial #15

Closed NilvanPeres closed 3 years ago

NilvanPeres commented 3 years ago

Descrição:

Estudo do que é o docker, e como ele funciona.

Tarefas:

Critérios de aceitação:

NilvanPeres commented 3 years ago

A documentação do Docker pode ser encontrada aqui.

E um breve video de introdução aos conceitos da ferramenta e Docker Hub aqui. O vídeo também mostra como escrever um dockerfile, biuld image, executar container. (Hello World)

E um vídeo de introdução ao docker-compose aqui.

NilvanPeres commented 3 years ago

O que é o Docker ?

É um software open source criado na linguagem GO, que serve para facilitar a criação e administração de ambientes isolados garantindo a rápida disponibilização de programas para o usuário final.

Por que utiliza-lo ?

Imagine o seguinte cenário, uma aplicação funciona no máquina do desenvolvedor, mas não funciona no pc do responsável pelos testes ou produção. Isso ocorre por causa das diferenças de ambientes das máquinas entre Dev, Test and Prod, e o docker veio para resolver esse problema. Outro benefício oferecido pela plataforma é a possibilidade de configurar diferentes ambientes de forma rápida, além de diminuir o número de incompatibilidades entre os sistemas disponíveis. Por isso o Docker foi criado, ele é uma ferramenta desenvolvida para facilitar a criação, deploy e executar aplicações usando containners.

E o que são containers ?

É simplesmente um ambiente isolado, que facilita muito o desenvolvimento DevOps e a metodologia ágil. Além disso, devido à virtualização por container, propicia um ambiente leve para rodar o programa. Containers são excelentes para a integreção contínua e entrega contínua (CI/CD, sigla em inglês). Vários containers podem ser criados a partir de uma imagem. Portanto, a virtualização de contêiner é fundamentalmente baseada em imagens, nos arquivos disponíveis no Docker Hub (funciona como um github de imagens) e usados ​​para criar e inicializar um aplicativo em um novo contêiner do Docker. Cada imagem é definida por um Dockerfile, um arquivo de configuração que contém todos os comandos que um usuário precisa executar para modelar a imagem.

E o docker-compose ?

Ele serve para realizar a comunicação entre os containners, para cada containner é preciso construir a imagem e posteriomente rodar cada uma. O docker-compose vem para deixar esse processo muito mais fácil onde vamos configurar todos os sitemas em um único arquivo que inicializa tudo a partir de um único comando, através do arquivo chamado docker-compose, escrito em YAML (acrônimo recursivo para YAML Ain’t Markup Language) é um formato de codificação de dados legíveis por humanos, o que torna fácil de ler e entender o que um Compose faz!

Fontes:

https://www.opservices.com.br/o-que-e-docker/ https://www.meupositivo.com.br/panoramapositivo/container-docker/ https://medium.com/@victorhugorocha/docker-o-que-s%C3%A3o-imagens-e-os-containers-df7a42a16358 https://imasters.com.br/banco-de-dados/docker-compose-o-que-e-para-que-serve-o-que-come

NilvanPeres commented 3 years ago

Para a instalação basta seguir a documentação da ferramenta aqui. Para usários linux eu recomendo o passo a passo do @francisco1code que pode ser encontrado aqui. Mas, atenção a versão do docker-compose desse tutorial é antiga, a versão atual é 1.28.2. Mais detalhes aqui. OBS: Os integrantes que utilizam windows deve ativar o Hyper-V da máquina.

DaviMatheus commented 3 years ago

Não conseguimos implementar completamente o docker no projeto, essa issue será estendida para sprint 2.