محسن
4 سال پیش توسط محسن مطرح شد
1 پاسخ

راه اندازی لاراول با docker

سلام.فایل docker-compose.yml رو به صورت زیر نوشتم

version: '2.2'

networks:
  backend:

services:
  nginx:
    image: nginx:stable-alpine
    container_name: nginx
    ports:
      - "8000:80"
    volumes:
      - ./src:/var/www
      - ./nginx/default.conf:/etc/nginx/conf.d/default.conf
    depends_on:
      - mysql
      - php
    networks:
      - backend
  mysql:
    image: mysql:5.7.29
    container_name: mysql
    restart: unless-stopped
    tty: true
    ports:
      - "3306:3306"
    entrypoint:
      MYSQL_DATABASE:laravel
      MYSQL_USER:homestead
      MYSQL_PASSWORD:secret
      MYSQL_ROOT_PASSWORD:secret
      SERVICE_TAGS:dev
      SERVICE_NAME:mysql
    networks:
      - backend
  php:
    build:
      context: .
      dockerfile: Dockerfile
    container_name: php
    volumes:
      - ./src:/var/www/html
    ports:
      - "9000:9000"
    networks:
      - backend

وقتی اجرا میکنم خطای زیر رو میده:

C:\Users\mitoo\Desktop\dockerLaravel>docker-compose up -d --build
Building php
Step 1/3 : FROM php:7.4-fpm-alpine
 ---> 3d3fe9ec5435
Step 2/3 : WORKDIR /var/www/html
 ---> Using cache
 ---> 50e71fb6073e
Step 3/3 : RUN docker-php-ext-install pdo pdo_mysql
 ---> Using cache
 ---> 1fef37ed145e

Successfully built 1fef37ed145e
Successfully tagged dockerlaravel_php:latest
php is up-to-date
Starting mysql ... error

ERROR: for mysql  Cannot start service mysql: OCI runtime create failed: container_linux.go:370: starting container process caused: exec: "MYSQL_DATABASE:laravel": executable file not
found in $PATH: unknown

ERROR: for mysql  Cannot start service mysql: OCI runtime create failed: container_linux.go:370: starting container process caused: exec: "MYSQL_DATABASE:laravel": executable file not
found in $PATH: unknown
ERROR: Encountered errors while bringing up the project.

مشکل چیه؟


ثبت پرسش جدید
mahdi khanzadi
تخصص : Software engineer
@khanzadimahdi 4 سال پیش آپدیت شد
0

توی فایل yaml بین : و مقدار فاصله بزار و دوباره امتحان کن. همچنین مقادیر کانفیگ mysql رو توی entrypoint نباید بزاری! به صورت کمند اجرا میشن و خطا میگیری. باید توی environment بزاری مثل حالت زیر

    environment:
       MYSQL_ROOT_PASSWORD: localpassword
       MYSQL_DATABASE: laravel

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام