wilkerviana / php-sample-app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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";

Para utilizar este container basta criar um arquivo obrigatório ".env" no diretório root da sua aplicação, com as seguintes variáveis de ambiente:

    DB_SERVER=[nome do container de db] -> aplicação utiliza o "backend"
    DB_NAME=[nome do banco de dados] -> nesse caso a aplicação está utilizando "demo"
    DB_USERNAME=[usuario mysql]
    DB_PASSWORD=[senha usuario mysql]

** Importante: essas variáveis são utilizadas nas configurações do front-end e na configuração do MySQL **

Feito isso baixe o container:

    docker pull wilkerviana/php-sample-app

Por fim, execute o comando:

    docker-compose up -d

Abra seu navegador e encontre a aplicação rodando no endereço:

    localhost:3000

That's all folks! 🤓🖖🏼


Builds da aplicação

As instruções de como configurar os builds para subir a aplicação do Docker :


Docker Compose

O arquivo docker-compose consiste basicamente na configuração de serviços e criação de uma rede local.

O intuito de criação deste arquivo é diminuir a exposição de erros ao executar a construção de containers de forma manual e agilizar a execução da aplicação.

Abaixo temos as configurações referentes ao container frontend:

  • build: diretório que contém o Dockerfile referente a aplicação
  • image: imagem de build utilizada
  • ports: exposição de portas local:aplicação
  • networks: rede local para comunicação entre containers
  • links: link com database
  • volumes: diretório de espelhamento de arquivos
  • env_file: arquivo com variáveis de ambiente
  • container_name: nome do container
    php:
    build: ./frontend
    image: wilkerviana/frontend-fiap-php
    ports:
      - 3000:80
    networks:
      - php-sample-network
    links:
      - db
    volumes:
      - ./frontend:/var/www/html
    env_file: ./.env
    container_name: frontend

Em seguida as configurações referentes ao container backend:

    db:
    build: ./backend
    image: wilkerviana/backend-fiap-php
    environment:
      MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
      MYSQL_ROOT_PASSWORD: ''
      MYSQL_DATABASE: ${DB_NAME}
      MYSQL_USER: ${DB_USERNAME}
      MYSQL_PASSWORD: ${DB_PASSWORD}
    networks:
      - php-sample-network
    volumes:
      - /var/lib/mysql
    env_file: ./.env
    container_name: backend
  • environment: configuração de variáveis de ambiente 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;

About


Languages

Language:PHP 100.0%