Хобрук: Ваш путь к мастерству в программировании

Ошибки при запуске laravel 5 под докером

Я пытаюсь установить laravel 5.0 / mysql "5.5" / php_version под докером, и я не могу создать сайт в браузере и выполнить раздачу приложения: у меня есть 3 файла конфигурации: docker-compose.yml:

version: '3.1'

services:

    youtube_api_demo_app:
        build:
            context: ./web
            dockerfile: Dockerfile.yml

        container_name: youtube_api_demo_app_container
        environment:
            - APACHE_RUN_USER=#1000
        volumes:
            - ${APP_PATH_HOST}:${APP_PTH_CONTAINER}
        ports:
            - 8085:80
        working_dir: ${APP_PTH_CONTAINER}


    db:
        image: mysql:5.5.62
        restart: always
        environment: 
            MYSQL_ROOT_PASSWORD: 1
        volumes:
            - ${DB_PATH_HOST}:/var/lib/mysql


    adminer:
        image: adminer
        restart: always
        ports:
            - 8086:8080
        links:
            - db


    youtube_api_demo_composer:
        image: composer:1.6
        container_name: youtube_api_demo_composer_container
        volumes:
            - ${APP_PATH_HOST}:${APP_PTH_CONTAINER}
        working_dir: ${APP_PTH_CONTAINER}
        command: composer install --ignore-platform-reqs

.env:

# PATHS
DB_PATH_HOST=./databases
APP_PATH_HOST=./YoutubeAPI_Demo
APP_PTH_CONTAINER=/var/www/html/

web / Dockerfile.yml:

FROM php:5.6-apache
RUN apt-get update -y && apt-get install -y libpng-dev   nano  libmcrypt-dev
RUN docker-php-ext-install \
    pdo_mysql \
    mcrypt \
    && a2enmod \
    rewrite

и env моего приложения /YoutubeAPI_Demo/.env:

APP_NAME = Laravel APP_ENV = local APP_KEY = base64: 4 + BRJbKtSQ7Z7yBVkYxe + NxfLkVPBAG2Gm1I93Qwukc = APP_DEBUG = true APP_URL = APP_SUBDIRECTORY =

LOG_CHANNEL = стек

DB_USERNAME = root DB_PASSWORD = 1 DB_CONNECTION = mysql DB_HOST = 127.0.0.1: 8086 DB_PORT =: 8086 DB_DATABASE = youtube_api_demo

Я не уверен, что я установил допустимые параметры DB_HOST и DB_PORT, на самом деле я пробовал разные.

1) Я создал приложение и вошел в консоль, но при переносе произошла ошибка:

# php artisan migrate                                                           
  [PDOException]                             
  SQLSTATE[HY000] [2002] Connection refused

Но я вошел в admin и создал базу данных: https://imgur.com/a/ePBfMiv

2) Зайдя в браузер http://127.0.0.1:8085/, я получил ошибку:

You don't have permission to access / on this server.
Apache/2.4.25 (Debian) Server at 127.0.0.1 Port 8085 


 docker ps
CONTAINER ID        IMAGE                                  COMMAND                  CREATED             STATUS                          PORTS                    NAMES
a51ccd12ae40        adminer                                "entrypoint.sh docke…"   About an hour ago   Up About an hour                0.0.0.0:8086->8080/tcp   youtubeapi_demo_adminer_1
7f9ee8f14c9d        mysql:5.5.62                           "docker-entrypoint.s…"   About an hour ago   Up About an hour                3306/tcp                 youtubeapi_demo_db_1
b2c47edaf616        youtubeapi_demo_youtube_api_demo_app   "docker-php-entrypoi…"   About an hour ago   Up About an hour                0.0.0.0:8085->80/tcp     youtube_api_demo_app_container
3dcc1a4ce8f0        adminer                                "entrypoint.sh docke…"   5 weeks ago         Up 4 hours                      0.0.0.0:8083->8080/tcp   lprods_adminer_container
933d9fffaf76        postgres:9.6.10-alpine                 "docker-entrypoint.s…"   5 weeks ago         Up 4 hours                      0.0.0.0:5433->5432/tcp   lprods_db_container
2f73a600b999        adminer                                "entrypoint.sh docke…"   6 weeks ago         Up 4 hours                      0.0.0.0:8082->8080/tcp   votes_docker_adminer_1
52ea479b8791        mysql:5.6.41                           "docker-entrypoint.s…"   6 weeks ago         Restarting (1) 34 seconds ago                            votes_docker_db_1

Что не так в настройках конфигурации?

Спасибо!

16.12.2018

Ответы:


1

1) В .env: вы можете использовать:

DB_CONNECTION=mysql
DB_HOST=db // THAT IS MYSQL container name
DB_PORT=3306

2) Попробуйте url

http://127.0.0.1:8085/public

с обычными настройками dirs laravel 5

25.12.2018
Новые материалы

Создание кнопочного меню с использованием HTML, CSS и JavaScript
Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen . Шаг 1..

Внедрите OAuth в свои веб-приложения для повышения безопасности
OAuth — это широко распространенный стандарт авторизации, который позволяет приложениям получать доступ к ресурсам от имени пользователя, не раскрывая его пароль. Это позволяет пользователям..

Классы в JavaScript
class является образцом java Script Object. Конструкция «class» позволяет определять классы на основе прототипов с чистым, красивым синтаксисом. // define class Human class Human {..

Как свинг-трейдеры могут использовать ИИ для больших выигрышей
По мере того как все больше и больше профессиональных трейдеров и активных розничных трейдеров узнают о возможностях, которые предоставляет искусственный интеллект и машинное обучение для улучшения..

Как построить любой стол
Я разработчик программного обеспечения. Я люблю делать вещи и всегда любил. Для меня программирование всегда было способом создавать вещи, используя только компьютер и мое воображение...

Обзор: Машинное обучение: классификация
Только что закончил третий курс курса 4 часть специализации по машинному обучению . Как и второй курс, он был посвящен низкоуровневой работе алгоритмов машинного обучения. Что касается..

Разработка расширений Qlik Sense с qExt
Использование современных инструментов веб-разработки для разработки крутых расширений Вы когда-нибудь хотели кнопку для установки переменной в приложении Qlik Sense? Когда-нибудь просили..