DevOps
01-12-2023

Stworzenie aplikacji w Laravel oraz konfiguracja środowiska w Dockerze i MacOs

Dmytro Tus
Full Stack Web developer

Hej. Dziś pokażę jak uruchomić aplikację w Laravel korzystając z Dockera. Ogólnie to może się przydać osobom, które będą chcieli uruchomić web aplikacje w czystym PHP lub jakimś innym Frameworku ( Symfony, CodeIgniter i tak dalej ).

Stack technologiczny dla różnych aplikacji jest taki sam i ma takie serwisy:

  • Web Server ( w naszym przypadku to jest Nginx )
  • PHP serwis
  • Serwer baz danych ( w naszym przypadku to jest MariaDB )

Ja zrobiłem plik docker-compose.yml ze wszystkimi ustawieniami które są potrzebne dla tego żęby uruchomić aplikację. Ty możesz skopijować/wkleić te ustawienia i wpisać komendę z terminału 

docker compose up -d

Kod pliku docker-compose.yml jest poniżej:

version: '3.9'
services:
  # nginx
  nginx-service:
    image: nginx:stable-alpine
    container_name: nginx-container-linkedin1
    ports:
      - "7758:80"
    volumes:
      - ./app:/var/www/project
      - ./nginx/default.conf:/etc/nginx/conf.d/default.conf
    depends_on:
      - php8-service
      - mariadb
  # php
  php8-service:
    build:
      context: .
      dockerfile: ./php/Dockerfile
    container_name: php8-container-linkedin1
    ports:
      - "9054:9000"
    volumes:
      - ./app:/var/www/project

  # mysql
  mariadb:
    image: mariadb
    container_name: mariadb-linkedin1
    ports:
      - "3358:3306"
    volumes:
      - ./mysql:/var/lib/mysql
    command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    #restart: always
    environment:
      MYSQL_USER: root
      MYSQL_ROOT_PASSWORD: root
      MYSQL_PASSWORD: root

W wideo poniżej ja pokazuje te wszystkie instrukcję, ale mówie w języku angielskim. Jeśli tak będzie łatwiej to można też skorzystać z wideo w celu uruchomienia aplikacji.


Inne wpisy