Como instalar e configurar o Laravel com o Docker Compose no Ubuntu 20.04

Conteinerizar um aplicativo se refere ao processo de adaptar um aplicativo e seus componentes com a finalidade de conseguir executá-lo em ambientes leves, conhecidos como contêineres. Esses ambientes são isolados e descartáveis e podem ser aproveitados para desenvolver, testar e implantar aplicativos para a produção.

Neste guia, usaremos o Docker Compose para conteinerizar um aplicativo Laravel para o desenvolvimento. Quando você tiver terminado, terá um aplicativo de demonstração Laravel funcionando em três contêineres de serviço separados:

  • Um serviço app executando o PHP7.4-FPM;
  • Um serviço de db executando o MySQL 5.7;
  • Um serviço de nginx que usa o serviço de app para analisar o código PHP, antes de entregar o aplicativo Laravel para o usuário final.

Para permitir um processo de desenvolvimento simplificado e facilitar a depuração do aplicativo, manteremos os arquivos do aplicativo sincronizados, usando volumes compartilhados. Também veremos como usar os comandos do docker-compose exec para executar o Composer e o Artisanno contêiner do app.

Pré-requisitos

Passo 1 — Obtendo o aplicativo Demo

Para começar, iremos buscar o aplicativo de demonstração do Laravel a partir de seu repositório do GitHub. Estamos interessados na ramificação tutorial-01, que contém o aplicativo básico do Laravel que criamos no primeiro guia dessa série.

Para obter o código do aplicativo compatível com este tutorial, baixe a versão tutorial-1.0.1para seu diretório home com:

cd ~
curl -L https://github.com/do-community/travellist-laravel-demo/archive/tutorial-1.0.1.zip -o travellist.zip

Vamos precisar do comando unzip para descompactar o código do aplicativo. Caso não tenha instalado este pacote antes, faça isso agora com:

sudo apt update
sudo apt install unzip

Agora, descompacte o conteúdo do aplicativo e renomeie o diretório descompactado para ter um acesso mais fácil:

unzip travellist.zip
mv travellist-laravel-demo-tutorial-1.0.1 travellist-demo

Navegue até o diretório travellist-demo:

cd travellist-demo

No próximo passo, vamos criar um arquivo de configuração .env para configurar o aplicativo.

Passo 2 — Configurando o arquivo .env do aplicativo

Os arquivos de configuração do Laravel estão localizados em um diretório chamado config, dentro do diretório raiz do aplicativo. Além disso, um arquivo .env é usado para preparar a configuração dependente do ambiente, como credenciais e quaisquer informações que possam variar entre as implantações. Este arquivo não está incluído no controle de revisão.

Aviso: o arquivo de configuração de ambiente contém informações confidenciais sobre o seu servidor, incluindo credenciais para o banco de dados e chaves de segurança. Por esse motivo, nunca compartilhe este arquivo publicamente.

Os valores contidos no arquivo .env terão precedência sobre os valores definidos nos arquivos de configuração regulares, localizados no diretório config. Cada instalação em novo ambiente exige um arquivo de ambiente personalizado para definir coisas como as configurações da conexão com o banco de dados, as opções de depuração, o URL do aplicativo, entre outros itens que possam variar, dependendo do ambiente em que o aplicativo esteja funcionando.

Agora, vamos criar um novo arquivo .env para personalizar as opções de configuração do ambiente de desenvolvimento que estamos preparando. O Laravel vem com um exemplo do arquivo .env que podemos copiar para criar o nosso:

cp .env.example .env

Abra este arquivo usando o nano ou outro editor de texto de sua escolha:

nano .env

O arquivo .env atual do aplicativo demo travellist contém as configurações para usar um banco de dados local do MySQL, com o 127.0.0.1 como o host do banco de dados. Precisamos atualizar a variável DB_HOST para que ela aponte para o serviço de banco de dados que vamos criar em nosso ambiente do Docker. Neste guia, vamos chamar nosso serviço de banco de dados de db. Vá em frente e substitua o valor listado de DB_HOST pelo nome do serviço de banco de dados:

.env

APP_NAME=Travellist
APP_ENV=dev
APP_KEY=
APP_DEBUG=true
APP_URL=http://localhost:8000

LOG_CHANNEL=stack

DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=travellist
DB_USERNAME=travellist_user
DB_PASSWORD=password
...

Caso queira, sinta-se à vontade para alterar o nome do banco de dados, nome de usuário e senha. Essas variáveis serão aproveitadas em um próximo passo, onde iremos definir o arquivo docker-compose.yml para configurar nossos serviços.

Salve o arquivo quando terminar de editar. Caso tenha utilizado o nano, faça isso pressionando Ctrl+x, e então Y e Enter para confirmar.

Passo 3 — Configurando o Dockerfile do aplicativo

Embora ambos os nossos serviços do MySQL e do Nginx se baseiem em imagens padronizadas, obtidas a partir do Docker Hub,ainda precisaremos compilar uma imagem personalizada para o contêiner do aplicativo. Criaremos um novo Dockerfile para isso.

Nossa imagem do travellist irá basear-se na imagem oficial do PHPphp:7.4-fpm​​​ do Docker Hub. Além desse ambiente básico do PHP-FPM, instalaremos alguns módulos adicionais do PHP e a ferramenta de gerenciamento de dependência do Composer.

Também iremos criar um novo usuário do sistema; isso é necessário para executar comandos do artisan e do composer durante o desenvolvimento do aplicativo. A configuração uid garante que o usuário dentro do contêiner tenha o mesmo uid que seu usuário do sistema em sua máquina do host, para o qual está executando o Docker. Desta forma, quaisquer arquivos criados por esses comandos são replicados no host com as permissões corretas. Isso também significa que você poderá usar o editor de códigos de sua escolha no computador host para desenvolver o aplicativo que está executando dentro dos contêineres.

Crie um novo Dockerfile com:

nano Dockerfile

Copie os seguintes conteúdo para seu Dockerfile:

Dockerfile

FROM php:7.4-fpm

# Arguments defined in docker-compose.yml
ARG user
ARG uid

# Install system dependencies
RUN apt-get update && apt-get install -y \
    git \
    curl \
    libpng-dev \
    libonig-dev \
    libxml2-dev \
    zip \
    unzip

# Clear cache
RUN apt-get clean && rm -rf /var/lib/apt/lists/*

# Install PHP extensions
RUN docker-php-ext-install pdo_mysql mbstring exif pcntl bcmath gd

# Get latest Composer
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer

# Create system user to run Composer and Artisan Commands
RUN useradd -G www-data,root -u $uid -d /home/$user $user
RUN mkdir -p /home/$user/.composer && \
    chown -R $user:$user /home/$user

# Set working directory
WORKDIR /var/www

USER $user

Não se esqueça de salvar o arquivo quando terminar.

Nosso Dockerfile começa pela definição da imagem base que estamos usando: php:7.4-fpm.

Após instalar os pacotes do sistema e as extensões do PHP, instalaremos o Composer, copiando o executável composer de sua última imagem oficial para nossa imagem do aplicativo.

Então, um novo usuário do sistema é criado e configurado usando os argumentos user e uid que foram declarados no início do Dockerfile. Esses valores serão injetados pelo Docker Compose no momento da compilação.

Por fim, definimos o dir padrão em funcionamento como /var/www e trocamos para o usuário recém criado. Isso garantirá que, ao executar os comandos do composer e do artisan no contêiner do aplicativo, você esteja se conectando como um usuário comum e que esteja no diretório correto.

#laravel #conteinerizar #conhecidos

What is GEEK

Buddha Community

Como instalar e configurar o Laravel com o Docker Compose no Ubuntu 20.04
Alycia  Klein

Alycia Klein

1596118980

Como instalar o Docker Compose no Ubuntu 20.04 [Início rápido]

Introdução

Neste guia de início rápido, instalaremos o Docker Compose em um servidor Ubuntu 20.04.

Para uma versão mais detalhada deste tutorial, contendo explicações mais completas para cada passo, confira Como instalar e configurar o Docker Compose no Ubuntu 20.04.

Pré-requisitos

Para seguir este guia, você precisará de acesso a um servidor Ubuntu 20.04 ou uma máquina local como usuário sudo. Além disso, o Docker precisa estar instalado neste sistema.

Passo 1 — Baixar o Docker Compose

Comece confirmando a versão mais recente do Docker Compose disponível em sua página de lançamentos. No momento da redação deste artigo, a versão estável mais atual é a 1.26.0.

Execute o seguinte comando para baixar o Docker Compose e tornar este software globalmente acessível em seu sistema como docker-compose:

sudo curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

Passo 2 — Configurar permissões executáveis

Em seguida, defina as permissões corretas para garantir que o comando docker-compose seja executável:

sudo chmod +x /usr/local/bin/docker-compose

Para verificar se a instalação foi bem-sucedida, execute:

docker-compose --version

Você verá um resultado parecido com este:

Output
docker-compose version 1.26.0, build 8a1c60f6

O Docker Compose agora está instalado com sucesso em seu sistema.

Tutoriais relacionados

Aqui estão os links para os guias mais detalhados relacionados a este tutorial:

  • Initial Server Setup on Ubuntu 20.04
  • Como instalar e utilizar o Docker Compose no Ubuntu 20.04
  • Como Instalar e Utilizar o Docker no Ubuntu 20.04
  • Como instalar e configurar o Laravel com o Docker Compose no Ubuntu 20.04

#docker #ubuntu 20.04 #docker compose #laravel

Alycia  Klein

Alycia Klein

1596123180

Como instalar e utilizar o Docker Compose no Ubuntu 20.04

Introdução

O Docker simplifica o fluxo de gerenciamento de processos de aplicações em contêineres. Embora os contêineres sejam semelhantes às máquinas virtuais em certos aspectos, eles são mais leves e fáceis de usar. Isso permite que os desenvolvedores dividam um ambiente de aplicação em vários serviços isolados.

Para aplicações que dependem de vários serviços, orquestrar todos os contêineres para iniciar, comunicar e fechar juntos pode tornar-se algo rapidamente incontrolável. O Docker Compose é uma ferramenta que lhe permite executar ambientes de aplicações com vários contêineres com base nas definições contidas em um arquivo YAML. Ele usa as definições de serviço para compilar ambientes totalmente personalizados com contêineres múltiplos que podem compartilhar redes e volumes de dados.

Neste guia, vamos demonstrar como instalar o Docker Compose em um servidor Ubuntu 20.04 e como começar a usar esta ferramenta.

Pré-requisitos

Para seguir este artigo, você irá precisar do seguinte:

  • Acesso a uma máquina local com Ubuntu 20.04, ou um servidor de desenvolvimento como um usuário não-root com privilégios sudo. Se estiver usando um servidor remoto, é recomendável ter um firewall ativo instalado. Para configurar tudo isso, consulte nosso tutorial Initial Server Setup Guide for Ubuntu 20.04.
  • O Docker instalado em seu servidor ou máquina local, seguindo os Passos 1 e 2 de How To Install and Use Docker on Ubuntu 20.04.

Passo 1 — Instalando o Docker Compose

Para garantir que vamos obter a versão estável mais atualizada do Docker Compose, faremos o download deste software a partir do seu repositório oficial do Github.

Primeiro, confirme a versão mais recente disponível em sua página de releases. No momento da redação deste artigo, a versão estável mais atual é a 1.26.0.

#ubuntu 20.04 #docker #docker compose #github

Amara  Reichel

Amara Reichel

1598155200

Como configurar o Django com o Postgres, Nginx e o Gunicorn no Ubuntu 20.04

Introdução

O Django é um framework Web poderoso, que pode ajudar o seu aplicativo Python ou site a decolar. O Django inclui um servidor de desenvolvimento simplificado para testar seu código localmente, mas para qualquer coisa ligeiramente relacionada com produção, é necessário um servidor Web mais seguro e poderoso.

Neste guia, vamos demonstrar como instalar e configurar alguns componentes no Ubuntu 20.04 para apoiar e servir aplicativos do Django. Vamos configurar um banco de dados PostgreSQL ao invés de usar o banco de dados padrão SQLite. Vamos configurar o servidor do aplicativo Gunicorn para interagir com nossos aplicativos. Então, vamos configurar o Nginx como proxy reverso do Gunicorn, dando-nos acesso aos seus recursos de segurança e desempenho para servir nossos aplicativos.

Pré-requisitos e objetivos

Para completar este guia, você deve ter uma nova instância de servidor Ubuntu 20.04 com um firewall básico e um usuário não root com privilégios sudo configurados. Você pode aprender como configurar isso examinando nosso guia de configuração inicial de servidor.

Vamos instalar o Django em um ambiente virtual. Instalar o Django em um ambiente específico do seu projeto permitirá que seus projetos e seus requisitos sejam tratados separadamente.

#postgres #configurar #nginx #ubuntu #gunicorn #ubuntu 20.04

Jesus  Moran

Jesus Moran

1593909240

Como instalar o Composer no Ubuntu 20.04

Neste guia de início rápido, instalaremos o Composer em um servidor Ubuntu 20.04.

Para uma versão mais detalhada deste tutorial, contendo explicações mais detalhadas para cada passo, confira Como instalar e configurar o Composer no Ubuntu 20.04.

Pré-requisitos

Para seguir este guia, você precisará ter acesso a um servidor Ubuntu 20.04 como um usuário sudo.

#ubuntu 20.04 #ubuntu #composer

Franz  Bosco

Franz Bosco

1590204411

Install Docker | Docker Compose on Ubuntu 20.04

This brief tutorial shows students and new users how to install Docker and Docker Compose on Ubuntu 20.04 | 18.04.

Docker software allows visualization at the operating system level… Unlike VirtualBox and VMware Workstation, you run virtual applications as containers… Docker was developed by Docker Inc, and runs software packages as containers which makes building applications that are easily shared and can run anywhere…

#applications #linux ubuntu #docker #docker compose #ubuntu 18.04