/docker

Arquivos de configuração para ambiente docker

Primary LanguagePHP

docker with docker-compose

creation of work development in docker
  • Serviços Disponíveis
    • Apache - Com Php
    • Nginx
    • Postgresql
    • MySql
    • PhpMyadmin
    • PhpPgadmin
    • PHP - Com composer
    • Angular
    • React
    • Mongodb
    • Mongo Express
    • Redis

⚠️ Para usuários do docker toolbox, o projeto deve ser clonado dentro da pasta pessoal do usuário

⚠️ Todos os projetos web devem ficar na pasta sites.

⚠️ Caso utilizar o autocomplete do terminal (ZSH), alterar configuração de extensão do docker em

arquivo/preferencias/configurações/extensões/Docker

Altere o campo "Docker › Attach Shell Command: Linux Container" de

/bin/sh -c "[ -e /bin/bash ] && /bin/bash || /bin/sh

para

/bin/sh -c "[ -e /bin/bash ] && /bin/bash || /bin/zsh 2> /dev/null || /bin/sh 

⚠️ Caso esteja tendo o aviso/erro no Vscode: PHP › Validate: Executable Path basta seguir esse passo a passo:

Iniciando 🎉

instalando docker, git e vscode.

Windows:

Linux:

MacOS:

Clonar repositorio 🔃

Escolha um local para clonar o repositorio e faça o clone;

Windows:

  • Abra o programa Git Bash (instalado junto com o git)
  • Use o comando cd para navegar pelas pastas (Ex: cd Documentos/)
  • Clone o repositorio com o comando: git clone https://github.com/GenesesLopes/docker.git
  • Navegue até a pasta que acabou de clonar: cd docker

Linux/MacOS:

  • Abra o terminal
  • Navegue até a pasta onde deseja clonar o repo (exemplo):
  cd Documentos
  • Clone o repositorio:
  git clone https://github.com/GenesesLopes/docker.git
  • Navegue até a pasta que acabou de clonar:
  cd docker

Subindo Containers ⬆️

  • Para subir o container desejado, basta executar o comando (Windows, ou Linux):
docker-compose up -d nomeDoContainer
  • O exemplo aseguir irá subir o container do apache (o container do apache já tem o php incluso, não precisa subi-lo):
docker-compose up -d apache
  • Containers disponiveis; apache, postgres, mysql, nginx, react, phpmyadmin, phppgadmin, redis, angular, mongo, php(puro), mongoexpress.

Configurações: 📝

  • Configurando Dominio Local

    • Windows
      1 - Ir até a pasta C:\Windows\System32\drivers\etc.
      2 - Dar permissão todal ao arquivo hosts para o usuário logado.
      3 - Adicionar a seguinte linha no final do arquivo: 127.0.0.1 projeto.local(O dominio fica a seu critério)
      Para usuários do docker toolbox, o IP será o resultado do comando $ docker-machine ip default
      4 - Criar um atalho na área de trabalho para projetos futuros (Opcional).
    • Linux/Mac
      1 - Editar o arquivo /etc/hosts
      2 - Adicionar a seguinte linha no final do arquivo: 127.0.0.1 projeto.local(O dominio fica a seu critério)
  • Criando containers

    • Criando volumes para postgres e mysql (Obs.: Comandos apenas se tiver erro de criação de volumes para bases de dados)
      $ docker create volume data-postgres
      $ docker create volume data-mysql
    • Editar o arquivo .env de acordo as suas necessidades.
    • Instanciar container com o serguinte comando: $ docker-compose up -d serviço1 serviço2 ...

  • Configuração de VirtualHost nos containers Apache e Nginx

    • Apache

      1 - Ir até a pasta apache/sites-avaliable e Editar as diretivas do arquivo sites.conf:
      ServerName projeto.local (Colocar o dominio local criado).
      DocumentRoot /var/www/html/teste e Directory "/var/www/html/teste", Alterar O final "teste" pelo nome da pasta do seu projeto.
      2 - Acessar o container do apache pelo vscode e digitar o seguinte comando: # a2ensite sites.conf.
      3 - Reiniciar o container pelo vscode.
      4 - Caso queira criar mais VirtualHost, crie uma copia do arquivo sites.conf na mesma pasta, renomeie-o de acordo a sua escolha (ex.: projeto.conf) e repita o processo adaptando-se ao novo arquivo criado.

    • Nginx

      1 - Ir até a pasta nginx e Editar as diretivas do arquivo sites.conf:
      root /var/www/html/teste; Alterar O final "teste" pelo nome da pasta do seu projeto.
      server_name site.dev; (Colocar o dominio local criado).
      2 - Reiniciar o container pelo vscode.
      3 - Caso queira criar mais VirtualHost, crie uma copia do arquivo sites.conf na mesma pasta, renomeie-o de acordo a sua escolha (ex.: projeto.conf) e repita o processo adaptando-se ao novo arquivo criado.

⚠️ A partir de agora a gerência dos containers será através do VScode (iniciar e parar).