DEV Community

Gustavo Jhon
Gustavo Jhon

Posted on

docker compose and dockerfile

docker-compose.yml

services: laravel-docker: container_name: laravel-docker build: . volumes: - ./laravel-app:/var/www/html ports: - 9000:80 mysql_db: image: mysql:latest environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: taravel_docker ports: - 3306:3306 phpmyadmin: image: phpmyadmin:latest ports: - 9001:80 environment: - PMA_ARBITRARY=1 
Enter fullscreen mode Exit fullscreen mode

Dockerfile

FROM php:8.1.0-apache WORKDIR /var/www/html # Mod Rewrite RUN a2enmod rewrite # Linux Library RUN apt-get update -y && apt-get install -y \  libicu-dev \  libmariadb-dev \  unzip zip \  zlib1g-dev \  libpng-dev \  libjpeg-dev \  libfreetype6-dev \  libjpeg62-turbo-dev \  libpng-dev # Composer COPY --from=composer:latest /usr/bin/composer /usr/bin/composer # PHP Extension RUN docker-php-ext-install gettext intl pdo_mysql gd RUN docker-php-ext-configure gd --enable-gd --with-freetype --with-jpeg \  && docker-php-ext-install -j$(nproc) gd 
Enter fullscreen mode Exit fullscreen mode

run

docker-compose build docker-compose up 
Enter fullscreen mode Exit fullscreen mode

Makefile

setup: @make build @make up @make composer-update build: docker-compose build --no-cache --force-rm stop: docker-compose stop up: docker-compose up -d composer-update: docker exec laravel-docker bash -c "composer update" data: docker exec laravel-docker bash -c "php artisan migrate" docker exec laravel-docker bash -c "php artisan db:seed" 
Enter fullscreen mode Exit fullscreen mode
composer create-project laravel/laravel . make composer-update make data 
Enter fullscreen mode Exit fullscreen mode

Top comments (0)