Почему докер не обслуживает мой Laravel автоматически?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Почему докер не обслуживает мой Laravel автоматически?

Сообщение Anonymous »

Итак, у меня есть проблема, которую я не могу решить и не могу найти решение.
Я создаю проект, используя React, Sass и laravel с Docker, и Docker выиграл Я не обслуживаю свой Laravel онлайн. Он бесконечно загружается, и я больше не знаю, что делать.
Это мое дерево каталогов, я знаю, что оно потерто, но оно работает :)< /p>

Код: Выделить всё

my-project/
├── backend/
│ └── (Laravel files here)
├── frontend/
│ └── (React files here)
├── docker/
│ ├── backend/
│     └── Dockerfile
│ ├── frontend/
│     └── Dockerfile
└── docker-compose.yml
Это мой файл docker-compose.yml:

Код: Выделить всё

version: '3.8'

services:
backend:
build:
context: ../  # Root of the project
dockerfile: docker/backend/Dockerfile  # Path to the Dockerfile
image: lerenlerentool-backend
container_name: lerenlerentool_backend
restart: unless-stopped
working_dir: /var/www
entrypoint: php artisan serve --host=0.0.0.0
volumes:
- ../backend:/var/www  # Maps the backend folder into the container
- ./backend/php-local.ini:/usr/local/etc/php/conf.d/local.ini
ports:
- "8000:8000"
networks:
- app-network
environment:
- APP_ENV=local
- APP_DEBUG=true
- APP_KEY=base64:ertrdSfHv01dD/4R6N6acsRQW+hLn3MTNmk84ypaW4I=
- DB_HOST=127.0.0.1
- DB_PORT=3306
- DB_DATABASE=lerenlerentool
- DB_USERNAME=test
- DB_PASSWORD=1234
depends_on:
- db

frontend:
build:
context: ../
dockerfile: docker/frontend/Dockerfile
image: lerenlerentool-frontend
container_name: lerenlerentool_frontend
restart: unless-stopped
ports:
- "3000:80"
volumes:
- ../frontend:/app
- /app/node_modules
networks:
- app-network

db:
image: mysql:8.0
container_name: lerenlerentool_db
restart: unless-stopped
environment:
MYSQL_DATABASE: lerenlerentool
MYSQL_USER: test
MYSQL_PASSWORD: 1234
MYSQL_ROOT_PASSWORD: 1234
volumes:
- dbdata:/var/lib/mysql
ports:
- "3306:3306"
networks:
- app-network

phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: lerenlerentool_phpmyadmin
restart: unless-stopped
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD: 1234
ports:
- "8080:80"
networks:
- app-network

networks:
app-network:
driver: bridge

volumes:
dbdata:
А вот мой файл докеров:

Код: Выделить всё

# Use a PHP image with FPM support
FROM php:8.2-fpm

# Install necessary PHP extensions
RUN apt-get update && apt-get install -y libpng-dev libjpeg-dev libfreetype6-dev zip git unzip

# Install Composer (for Laravel dependency management)
COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer

# Set the working directory to where the Laravel project is
WORKDIR /var/www/backend

RUN apt-get update && apt-get install -y \
libpng-dev libjpeg-dev libfreetype6-dev \
libonig-dev libzip-dev zip unzip git curl \
&& docker-php-ext-install pdo pdo_mysql bcmath mbstring

# Install PHP extensions
RUN docker-php-ext-install pdo_mysql

# Copy the Laravel project files into the container
COPY backend /var/www/backend

# Install Laravel dependencies via Composer
RUN composer install --optimize-autoloader --no-dev

# Install Node.js and npm (if necessary for any assets)
RUN curl -sL https://deb.nodesource.com/setup_22.x | bash - \
&& apt-get install -y nodejs

# Run Laravel migrations or other setup commands if needed
CMD php artisan serve --host=0.0.0.0 --port=8000

# Expose the correct port (if needed for API)
EXPOSE 8000
Я пытался отредактировать свой файл docker с помощью этого:

Код: Выделить всё

CMD php artisan serve --host=0.0.0.0 --port=8000
и мое сочинение с помощью этого:

Код: Выделить всё

entrypoint: php artisan serve --host=0.0.0.0
Но мне все равно нужно зайти в папку, где находится мой проект laravel, и вручную ввести команду submit в cmd этой папки, чтобы laravel заработал.

Подробнее здесь: https://stackoverflow.com/questions/792 ... omatically
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»