Home > database >  Impossible to start Symfony 5 server on Docker container (symfony serve -d)
Impossible to start Symfony 5 server on Docker container (symfony serve -d)

Time:11-15

I trying to create Docker container to contenerized my Symfony 5 application.

I create first a Dockerfile

FROM php:7.4-fpm-alpine

# Update
RUN apk --no-cache update
RUN apk --no-cache add bash git

# Install Node
RUN apk --no-cache add --update nodejs npm
RUN apk --no-cache add --update python3
RUN apk --no-cache add --update make
RUN apk --no-cache add --update g  

# Install pdo
RUN docker-php-ext-install pdo_mysql

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

# Symfony CLI
RUN curl -sS https://get.symfony.com/cli/installer | bash && mv /root/.symfony/bin/symfony /usr/local/bin/symfony

# WORK DIR
COPY . /var/www/html
WORKDIR /var/www/html

RUN composer update
RUN composer install
RUN npm install

# Start Symfony server on Port 8000
EXPOSE 8000
RUN symfony serve -d

Then I created a docker-compose.yml file (where I simply redirect port 8000 of the container to port 8080 on my machine).

version: '3.8'

services:
    php-fpm:
        container_name: infolea
        build: ./
        ports:
            - 8080:8000
        volumes:
            - ./:/var/www/html

Then, I build my image docker-compose build. Then, I run my image docker-compose up -d.

On my browser, the localhost:8080 link doesn't display anything. Then I restart the symfony server by typing symfony serve -d on the terminal of my container and on localhost:8080 I can see my application working.

Something is weard, is that when I verified if my server is not started yet on my docker container terminal, I got this :

docker container terminal

What i want, it's to start my Symfony server dirrectly, without retapping symfony serve -d. How can i do it ?

CodePudding user response:

Try using CMD istead of RUN

CMD ["/usr/local/bin/symfony", "local:server:start" , "--port=8000", "--no-tls"]

see https://docs.docker.com/engine/reference/builder/#cmd

  • Related