I created a docker-compose.yml file with Nginx, PHP-7.4-fpm, PhpMyAdmin and MariaDB, the execution of my docker-compose.yml has been deployed successfully but the Nginx container has an error:
nginx: [emerg] "server" directive is not allowed here in /etc/nginx/nginx.conf:1
.docker/docker-compose.yml:
version: '3' services: nginx: image: nginx:alpine volumes: - ../:/code - ./config/nginx/nginx.conf:/etc/nginx/nginx.conf:ro - ./logs:/var/log/nginx ports: - "80:80" depends_on: - php php: build: context: './config/php/' args: PHP_VERSION: ${PHP_VERSION} depends_on: - mariadb volumes: - ../:/code - ./config/php/conf.d/xdebug.ini:/usr/local/etc/php/conf.d/xdebug.ini ports: - "9000:9000" mariadb: image: mariadb:${MARIADB_VERSION} restart: always ports: - "3306:3306" environment: - MYSQL_DATABASE=${MARIADB_DATABASE} - MYSQL_USER=${MARIADB_USER} - MYSQL_PASSWORD=${MARIADB_PASSWORD} - MYSQL_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD} volumes: - ./database:/var/lib/mysql phpmyadmin: image: phpmyadmin/phpmyadmin ports: - "${PHPMYADMIN_HTTP_PORT}:80" depends_on: - mariadb environment: - MYSQL_USER=${MARIADB_DATABASE} - MYSQL_PASSWORD=${MARIADB_PASSWORD} - MYSQL_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD} .docker/config/nginx/nginx.conf:
server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; server_name monsite.local; root /code; index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php; } location ~ \.php$ { try_files $uri /index.php =404; fastcgi_pass php:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } error_log /var/log/nginx/project_error.log; access_log /var/log/nginx/project_access.log; } I don't understand why I have this error, can you help me please ?
Thank you in advance