Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

Respect's avatar

laravel sail up not running app ( i'm beginner )

  • Hello i'm beginner in docker ,
  • i have laravel working 100% in host i downloaded it
  • app using sail docker and docker-compose
  • i deleted vendor & used these commands composer install & npm install and sail up got result below
  • sail up command keeps saying , i dont know i waited more than a 2 hour same result
Attaching to  tasker-app-laravel.test-1,  tasker-app-mysql-1
  • which port should app running or what to do
  • NOTE ) in docker desktop | images status in use | volumes STATUS in use | but containerS status created - how to run container
  • all result of files printed below Dockerfile, docker-compose, and composer json ,composer.json,.env etc
  • THANKS SO MUCH FOR TRYING HELP
 ./vendor/bin/sail up
[+] Running 9/2
 ! laravel.test Warning                                                                                                      1.5s 
 ✔ mysql 7 layers [⣿⣿⣿⣿⣿⣿⣿]      0B/0B      Pulled                                                                         125.9s 
[+] Building 1.5s (16/16) FINISHED                                                                                                
 => [laravel.test internal] load .dockerignore                                                                               0.0s
 => => transferring context: 2B                                                                                              0.0s
 => [laravel.test internal] load build definition from Dockerfile                                                            0.0s
 => => transferring dockerfile: 2.74kB                                                                                       0.0s
 => [laravel.test internal] load metadata for docker.io/library/ubuntu:22.04                                                 1.4s
 => [laravel.test  1/11] FROM docker.io/library/ubuntu:22.04@sha256:ac58ff7fe25edc58bdf0067ca99df00014dbd032e2246d30a722fa3  0.0s
 => [laravel.test internal] load build context                                                                               0.0s
 => => transferring context: 99B                                                                                             0.0s
 => CACHED [laravel.test  2/11] WORKDIR /var/www/html                                                                        0.0s
 => CACHED [laravel.test  3/11] RUN ln -snf /usr/share/zoneinfo/UTC /etc/localtime && echo UTC > /etc/timezone               0.0s
 => CACHED [laravel.test  4/11] RUN apt-get update     && apt-get install -y gnupg gosu curl ca-certificates zip unzip git   0.0s
 => CACHED [laravel.test  5/11] RUN setcap "cap_net_bind_service=+ep" /usr/bin/php8.2                                        0.0s
 => CACHED [laravel.test  6/11] RUN groupadd --force -g 1000 sail                                                            0.0s
 => CACHED [laravel.test  7/11] RUN useradd -ms /bin/bash --no-user-group -g 1000 -u 1337 sail                               0.0s
 => CACHED [laravel.test  8/11] COPY start-container /usr/local/bin/start-container                                          0.0s
 => CACHED [laravel.test  9/11] COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf                                0.0s
 => CACHED [laravel.test 10/11] COPY php.ini /etc/php/8.2/cli/conf.d/99-sail.ini                                             0.0s
 => CACHED [laravel.test 11/11] RUN chmod +x /usr/local/bin/start-container                                                  0.0s
 => [laravel.test] exporting to image                                                                                        0.0s
 => => exporting layers                                                                                                      0.0s
 => => writing image sha256:f7be71323a09907067156c23e156e0a7a3fddf584b3df27849c5e64d7a5841f9                                 0.0s
 => => naming to sail-8.2/app                                                                                                0.0s
[+] Running 4/4
 ✔ Network tasker-app              Created                                                                        0.0s 
 ✔ Volume " tasker-app-mysql"       Created                                                                        0.0s 
 ✔ Container  tasker-app-mysql-1         Created                                                                        1.1s 
 ✔ Container  tasker-app-laravel.test-1  Created                                                                        0.1s 
Attaching to  tasker-app-laravel.test-1,  tasker-app-mysql-1
  • docker/Dockerfile
docker/Dockerfile
FROM php:8.2-fpm

# Arguments defined in docker-compose.yml
ARG user
ARG uid

# Set working directory
WORKDIR /var/www

#Install dependencies
RUN apt-get update && apt-get install -y \
    git \
    curl \
    libpng-dev \
    libonig-dev \
    libxml2-dev \
    zip \
    libzip-dev \
    unzip

RUN pecl install redis
# 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

RUN docker-php-ext-install zip

RUN docker-php-ext-install gd
RUN docker-php-ext-configure gd


# 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

#RUN chmod -R 775 /var/www/storage

# Change current user to www
USER $user

# Expose port 9000 and start php-fpm server
EXPOSE 9000
  • docker-compose-yaml
* docker-compose-yaml
version: '3'
services:
    laravel.test:
        build:
            context: ./vendor/laravel/sail/runtimes/8.2
            dockerfile: Dockerfile
            args:
                WWWGROUP: '${WWWGROUP}'
        image: sail-8.2/app
        extra_hosts:
            - 'host.docker.internal:host-gateway'
        ports:
            - '${APP_PORT:-80}:80'
            - '${VITE_PORT:-5173}:${VITE_PORT:-5173}'
        environment:
            WWWUSER: '${WWWUSER}'
            LARAVEL_SAIL: 1
            XDEBUG_MODE: '${SAIL_XDEBUG_MODE:-off}'
            XDEBUG_CONFIG: '${SAIL_XDEBUG_CONFIG:-client_host=host.docker.internal}'
        volumes:
            - '.:/var/www/html'
        networks:
            - sail
        depends_on:
            - mysql
    mysql:
        image: 'mysql/mysql-server:8.0'
        ports:
            - '${FORWARD_DB_PORT:-3306}:3306'
        environment:
            MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
            MYSQL_ROOT_HOST: '%'
            MYSQL_DATABASE: '${DB_DATABASE}'
            MYSQL_USER: '${DB_USERNAME}'
            MYSQL_PASSWORD: '${DB_PASSWORD}'
            MYSQL_ALLOW_EMPTY_PASSWORD: 1
        volumes:
            - 'sail-mysql:/var/lib/mysql'
            - './vendor/laravel/sail/database/mysql/create-testing-database.sh:/docker-entrypoint-initdb.d/10-create-testing-database.sh'
        networks:
            - sail
        healthcheck:
            test:
                - CMD
                - mysqladmin
                - ping
                - '-p${DB_PASSWORD}'
            retries: 3
            timeout: 5s
networks:
    sail:
        driver: bridge
volumes:
    sail-mysql:
        driver: local

  • compsoer.json
*composer.json
{
    "name": "laravel/laravel",
    "type": "project",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "require": {
        "php": "^8.0.2",
        "andreaselia/laravel-api-to-postman": "^1.13",
        "cloudinary-labs/cloudinary-laravel": "^2.0",
        "darkaonline/l5-swagger": "^8.4",
        "guzzlehttp/guzzle": "^7.5",
        "intervention/image": "^2.7",
        "laracasts/flash": "^3.2",
        "laravel/framework": "^9.19",
        "laravel/passport": "^11.3",
        "laravel/sanctum": "^3.0",
        "laravel/tinker": "^2.7",
        "laravelcollective/html": "^6.3",
        "masbug/flysystem-google-drive-ext": "^2.2",
        "mcamara/laravel-localization": "^1.7",
        "opcodesio/log-viewer": "^2.3",
        "spatie/laravel-activitylog": "^4.7",
        "spatie/laravel-backup": "^8.1",
        "spatie/laravel-permission": "^5.7",
        "stancl/tenancy": "^3.6",
        "symfony/filesystem": "^6.2",
        "symfony/http-client": "^6.2",
        "symfony/mailgun-mailer": "^6.2",
        "symfony/process": "^6.2",
        "yepwoo/laragine": "^2.1"
    },
    "require-dev": {
        "barryvdh/laravel-ide-helper": "^2.13",
        "fakerphp/faker": "^1.9.1",
        "laravel/pint": "^1.0",
        "laravel/sail": "^1.0.1",
        "mockery/mockery": "^1.4.4",
        "nunomaduro/collision": "^6.1",
        "phpunit/phpunit": "^9.5.10",
        "spatie/laravel-ignition": "^1.0"
    },
    "autoload": {
        "files": [
            "app/Helper/Foundations.php"
        ],
        "psr-4": {
            "App\": "app/",
            "Core\": "core/",
            "Helper\": "app/Helper/",
            "Database\Factories\": "database/factories/",
            "Database\Seeders\": "database/seeders/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\": "tests/"
        }
    },
    "scripts": {
        "post-autoload-dump": [
            "Illuminate\Foundation\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover --ansi"
        ],
        "post-update-cmd": [
            "@php artisan vendor:publish --tag=laravel-assets --ansi --force"
        ],
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "@php artisan key:generate --ansi"
        ]
    },
    "extra": {
        "laravel": {
            "dont-discover": [
                "barryvdh/laravel-ide-helper"
            ]
        }
    },
    "config": {
        "optimize-autoloader": true,
        "preferred-install": "dist",
        "sort-packages": true,
        "allow-plugins": {
            "pestphp/pest-plugin": true
        }
    },
    "minimum-stability": "dev",
    "prefer-stable": true
}

  • .env file
APP_NAME=tasker
APP_ENV=local
APP_KEY=base64:mszXUCQptTroVNt5LD/1Jqksv/8hplK18i19DHTOzQA=
APP_DEBUG=true
APP_PORT=3001
SERVER_PORT=3001

LOG_CHANNEL=stack
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=tasker_app
DB_USERNAME=root
DB_PASSWORD=

VITE_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
VITE_PUSHER_HOST="${PUSHER_HOST}"
VITE_PUSHER_PORT="${PUSHER_PORT}"
VITE_PUSHER_SCHEME="${PUSHER_SCHEME}"
VITE_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"

MAIL_MAILER=smtp
MAIL_HOST=sandbox.smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=user
MAIL_PASSWORD=password
MAIL_ENCRYPTION=tls
0 likes
1 reply
bluesafety's avatar
Level 2

never used sail .... u set Port in .env to 3001 maybe u only need to set url in your .env

APP_URL="http://localhost.local"

and the domain must be for u: 'localhost.local:3001'

Please or to participate in this conversation.