Sistemas para Internet - SecDevOps

nac: Criação de uma aplicação no formato "CRUD" executada em containers com base na linguagem "PHP" e no banco de dados "MySQL";


Importante:

Instruções sobre modelo de execução e entregáveis podem ser obtidas no diretório de documentação ou no portal do aluno;

Duvidas podem ser enviadas para profhelder.pereira@fiap.com.br

Esta app foi adaptada do exemplo contido neste artigo

A estrutura foi criada com base nas seguintes tags:

  • frontend-0.1: Versão de testes SEM conexão com o banco para a primeira parte da NAC;
  • stable: Versão COM as linhas de conexão com o banco configuradas, será necessário que o MySQL esteja operante para testes faltando apenas a criação do Dockerfile da aplicação/mysql;

Criar um container

Para executar um container utilize o comando run com o nome da imagem que vá utilizar para a criação:

docker run nome_da_imagem

Porém ele criará o container e este irá morrer, para manter o container conectado basta adicionar 'bash' no final do comando

Listando containers

Cada vez que você executa o comando run, o Docker vai criar um novo container do zero e armazenar para utilização futura. Você não deve ficar utilizando o comando run toda hora, por isso para listar os containers existentes usa-se 'ps'

docker ps

Rodar containers Docker já criados

docker start nome_do_container

O comando start só funciona com containers, por isso é obrigatório rodar o comando run pelo menos uma vez. O container será iniciado e permanecerá rodando em segundo plano até o comando stop ser rodado.

Acessar containers Docker que já estão rodando

Para acessar containers que já estão rodando usa-se o comando 'attach'

docker attach nome_do_container

Componentes

  • Stateful são aplicações que possuem persistência de dados, portanto o Banco de Dados.

  • Stateless por outro lado não possuem persistência de dados como páginas estáticas por exemplo, portanto a parte de front-end.