Ajude o site desativando o bloqueador de anúncio

ASSINE A NEWSLETTER

Cadastrando...
PIX uDesenv pix deposito

Docker com laravel

Autor: Eurai Criado: 14/06/2024 Atualizado: 01/07/2024

 

#Comandos

DockerV1: docker compose build

DockerV2: docker-compose build

 

Buildar a img: docker compose build

Subir e rodar: docker compose up

Subir e rodar "deamon/background" docker compose up -d

Derrubar:               docker compose up down

Container executando: docker ps

Docker Listar: docker ps -a

Renomear name: docker rename "name" "novonome"

Docker Iniciar: docker start "Id" ou "name" 

Docker exec: docker exec "Id" ou "name" ps -ef (precisa estar em execucao)

Docker Entrar: docker attach "Id" ou "name"

Docker Sair: exit

Docker Remover: docker rm -f "id" ou "name" 

Docker Remover Images: docker rmi -f "id" ou "name" 

Docker Images: docker images 

Limpar todas imagens "Format": docker system prune

Limpar "geral": docker system prune --all --force --volumes

 

Remover rede: docker network rm [rede]

Inspecionar rede: docker network inspect [rede]

Desconectar rede: docker network disconnect [container_id]

 

Limpeza completa:

docker container prune -f

docker image prune -a -f

docker volume prune -f

docker network prune -f

docker system prune -a -f

 

 

 

Caso utilize o mysql/mariadb local, precisa mapear a porta, exemplo:

version: "3.9"
services:
  web:
    image: urnau/app1-php:prod-nginx-php-fpm8.2.3
    container_name: web
    build:
      context: .
      dockerfile: ./docker/Dockerfile
      args:
      PHP_VERSION: '8.3.8-fpm-bullseye'
  ports:
      - "80:80" #http
      - "443:443" #https
      - "3306:3306" #MariaDB

Porém no .env do laravel, modificar a linha:

#DB_HOST=127.0.0.1
DB_HOST=host.docker.internal

 

 

Lentidão na sincronização de docker/volumes:

Realizado teste com volumes e bind-mount, para desenvolvimento sincronizar a pasta de fonte com o docker, obteve lentidão de 850ms até 1.7s

Para contorno, adicionar a tag no dockerfile:

    #volumes:  #para dev, deixar descomentado, para replicar sempre que alterar
      #- ./app:/var/www/app
      #- docker-sync:/var/www/app
      # - type: bind
      #   source: ./app
      #   target: /var/www/app
    develop:
      watch:
        - action: sync
          path: ./app
          target: /var/www/app
 

Ao invés de subir o comando com docker-compose up ou docker-compose up --build, utilizar o docker-compose watch (Ctrl+C para cancelar)

Se deixar ativo (descomentado) o volumes, ainda há problema mesmo subindo com docker-compose watch

Também funciona com (Depreciado, utilizar develop):

    x-develop:
      watch:
        - action: sync
          path: ./app
          target: /var/www/app

 

 

Exemplo de .bat (windows) para subir os serviços automaticamente. NPM RUN DEV ou outro (php artisan serve), 

@echo off
cd E:\
cd E:\projetodocker
start "Composer Watch" cmd /k "docker-compose watch"
cd E:\projetodocker\app
start "NPM Dev Server" cmd /k "npm run dev"

 

 

Banco de dados.

Utilizado o programa "HEIDI" é possível realizar backup de um banco para outro diretamente. Imagem abaixo

 

Fontes:

 

 

Gostou? Compartilhe com seus amigos e deixe um comentário! 😎

Um abraço, e até a próxima