docker compose up -d --build
docker compose exec -it app sh
docker compose up -d --build
docker compose exec -it app sh
| version: "3.8" | |
| volumes: | |
| mariadb104: | |
| name: mariadb104 | |
| services: | |
| db: | |
| image: mariadb:10.4 # mysql 5.7 | |
| ports: | |
| - 3306:3306 | |
| environment: | |
| MYSQL_ROOT_PASSWORD: asdf | |
| MYSQL_DATABASE: sinetiksapp | |
| volumes: | |
| - mariadb104:/var/lib/mysql | |
| - ./:/app | |
| # GUI: http://localhost:1080 | |
| mail: | |
| image: marlonb/mailcrab:latest | |
| ports: | |
| - 1025:1025 | |
| - 1080:1080 | |
| # https://www.digitalocean.com/community/tutorials/how-to-install-and-set-up-laravel-with-docker-compose-on-ubuntu-22-04 | |
| app: | |
| build: | |
| args: | |
| user: lalo | |
| uid: 501 | |
| context: ./ | |
| dockerfile: Dockerfile | |
| image: sinetiksapp | |
| container_name: sinetiksapp-app | |
| # restart: unless-stopped | |
| working_dir: /app | |
| ports: | |
| - 8000:8000 | |
| volumes: | |
| - ./:/app | |
| command: sh -c "composer install && php artisan serve --host=0.0.0.0:8000" | 
| # https://www.digitalocean.com/community/tutorials/how-to-install-and-set-up-laravel-with-docker-compose-on-ubuntu-22-04 | |
| FROM php:7.4-cli | |
| # 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 intl | |
| # 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 /app | |
| USER $user |