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

pouyabh's avatar

Composer could not find a composer.json file in /var/www

I'm writing a docker file and I want dockerize a laravel app and show this error :

[20/21] RUN composer install --no-interaction --optimize-autoloader --no-dev: #25 0.990 Do not run Composer as root/super user! See https://getcomposer.org/root for details #25 0.996 Composer could not find a composer.json file in /var/www #25 0.996 To initialize a project, please create a composer.json file. See https://getcomposer.org/basic-usage

Dockerfile Content:

FROM php:8.0-fpm

Set working directory

WORKDIR /var/www

Add docker php ext repo

ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/

Install php extensions

RUN chmod +x /usr/local/bin/install-php-extensions && sync && install-php-extensions mbstring pdo_mysql zip exif pcntl gd memcached

Install dependencies

RUN apt-get update && apt-get install -y build-essential libpng-dev libjpeg62-turbo-dev libfreetype6-dev locales zip jpegoptim optipng pngquant gifsicle unzip git curl lua-zlib-dev libmemcached-dev nginx

Install supervisor

RUN #apt-get install -y supervisor

Install composer

RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

Clear cache

RUN apt-get clean && rm -rf /var/lib/apt/lists/*

Add user for laravel application

RUN groupadd -g 1000 www RUN useradd -u 1000 -ms /bin/bash -g www www

Copy code to /var/www

#COPY --chown=www:www-data . /var/www #COPY --chown=www:www-data . . COPY . . USER root RUN chown -R www-data:root /var/www

add root to www group

RUN mkdir /var/www/storage RUN chmod -R ug+w /var/www/storage

Copy nginx/php/supervisor configs

RUN #cp docker/supervisor.conf /etc/supervisord.conf RUN cp docker/php.ini /usr/local/etc/php/conf.d/app.ini RUN cp docker/nginx.conf /etc/nginx/sites-enabled/default

PHP Error Log Files

RUN mkdir /var/log/php RUN touch /var/log/php/errors.log && chmod 777 /var/log/php/errors.log

Deployment steps

RUN composer install --no-interaction --optimize-autoloader --no-dev RUN chmod +x /var/www/docker/run.sh

EXPOSE 80 ENTRYPOINT ["/var/www/docker/run.sh"]

0 likes
3 replies

Please or to participate in this conversation.