Рейтинг:0

Как запустить приложение Laravel с mysql, используя только Dockerfile?

флаг us

Я хочу, чтобы мои посетители могли загружать свои приложения laravel на мой сервер, и я хочу запускать каждое приложение в контейнере докеров. И я также хочу, чтобы они могли иметь доступ к базе данных. Мой текущий файл Docker как таковой, но когда я запускаю docker exec -i myContainer echo "create database laravel3" | mysql, а затем docker exec -i test30f php artisan migrate, я получаю сообщение об ошибке Отказ в подключении.

Мой Dockerfile:

ИЗ mysql: 5.7
ENV MYSQL_ALLOW_EMPTY_PASSWORD верно
ВЫСТАВИТЬ 3306
CMD ["mysqld"]

ИЗ php:7.4-fpm-alpine

RUN docker-php-ext-install pdo сокеты pdo_mysql
ЗАПУСК curl -sS https://getcomposer.org/installer<200b> | php--\
     --install-dir=/usr/local/bin --filename=композитор

КОПИРОВАТЬ --from=composer:последняя /usr/bin/composer /usr/bin/composer

РАБОЧИЙКАТАЛОГ /приложение
КОПИРОВАТЬ . /приложение
ЗАПУСТИТЬ установку композитора
RUN cp .env.example .env && ключ php artisan: сгенерировать
CMD php artisan serve --host=0.0.0.0 --port=8000
ЭКСПОЗИЦИЯ 8000

Мой .env

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=ларавель3
DB_USERNAME=корень
БД_ПАРОЛЬ=

Ответить или комментировать

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