← ← ← 11/06/2022 09:57:58 | Posted by: Demostenes Albert | Follow @demoxtenex
Carteira Bitcoin: bc1qju3r9r07vzejdr0uazmdwgcqljt8n2vztyvkfx4gd5k0a97042wqkdwxrl
Olá senhores, continuaremos a mostrar, para quem como eu, tem interesse em fazer com que o ambiente de dev fique o mais parecido possível com o ambiente de prod.
Para exemplificar vamos fazer dois ou mais "servidores" funcionarem no nosso nginx com docker e suas configurações, usando as aplicações php separadas. app1 e app2
Para início de nossas configurações vamos instalar o docker no nosso S.O.(meu caso Ubuntu), para tanto basta seguir a forma de instalação conforme o site oficial do docker. A configuração inicial do nginx (.conf) está no post anterior aqui
No ultimo post nos não testamos nossa configuração para testar basta
$ docker-compose up -d $ docker-compose ps -a
O menos "-d" é para detachar dos logs do container, caso queira continuar vendo os log bem como matar o mesmo com ctrl+c basta remover o menos "-d" O ultimo comando irá mostra os container com processos, devera aparecer algo como
Porem nesse momento os logs irão reclamar que o hostname app1 não foi encontrado portanto temos de configurar nosso container ou containers php para trabalharmos corretamente, segue configuração para o app1:
$ mkdir ~/Documentos/Dev/app1 $ cd ~/Documentos/Dev/app1 $ touch Dockerfile $ touch docker-compose.yml
Criado os arquivos para iniciar o container, agora vamos escrever o nosso docker-compose.yml:
version: "3.1" services: app1: build: args: user: demostenes uid: 1000 context: ./ dockerfile: Dockerfile image: app1 container_name: app1 restart: unless-stopped working_dir: /var/www volumes: - ./:/var/www networks: default: name: my_apps
Lembre-se de substituir o user para o seu usuario e seu uid para o id do seu usuário
Partimos agora para a edição do Dockerfile:
FROM php:8.0-rc-fpm ARG user ARG uid RUN apt-get update && apt-get install -y \ git \ curl \ libpng-dev \ libonig-dev \ libxml2-dev \ zip \ unzip RUN apt-get clean && rm -rf /var/lib/apt/lists/* RUN docker-php-ext-install pdo_mysql mbstring exif pcntl bcmath gd COPY --from=composer:latest /usr/bin/composer /usr/bin/composer RUN useradd -G www-data,root -u $uid -d /home/$user $user RUN mkdir -p /home/$user/.composer && \ chown -R $user:$user /home/$user WORKDIR /var/www USER $user
Repetiremos o mesmo processo para o app2, mudando obviamente o app1 para app2, por hora é isso no próximo post voltaremos com os testes para a validação do ambiente, para reclamações sugestões comentários ou qualquer coisa basta escrever nos comentários abaixo.