Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Docker-未创建mysql用户_Php_Mysql_Laravel_Docker - Fatal编程技术网

Php Docker-未创建mysql用户

Php Docker-未创建mysql用户,php,mysql,laravel,docker,Php,Mysql,Laravel,Docker,我是Docker的初学者,正在观看Paul Redmond的PHP开发人员Docker教程。但当他创建MySQL数据库时,一切都正常,但我遇到了问题,无法找到数据库的位置 我正在使用Laravel,我需要连接到数据库。但MySQL容器似乎没有创建新用户,我也不知道为什么 Dockerfile: FROM php:7.3.1-apache-stretch COPY . /var/www/html COPY docker/vhost.conf /etc/apache2/sites-availabl

我是Docker的初学者,正在观看Paul Redmond的PHP开发人员Docker教程。但当他创建MySQL数据库时,一切都正常,但我遇到了问题,无法找到数据库的位置

我正在使用Laravel,我需要连接到数据库。但MySQL容器似乎没有创建新用户,我也不知道为什么

Dockerfile:

FROM php:7.3.1-apache-stretch

COPY . /var/www/html
COPY docker/vhost.conf /etc/apache2/sites-available/000-default.conf

RUN chown -R www-data:www-data /var/www/html \
    && docker-php-ext-install pdo_mysql \
    && a2enmod rewrite
docker-compose.yml:

version: "3"
services:
  app:
    image: laravel-www
    container_name: laravel-www
    build:
      context: .
      dockerfile: docker/Dockerfile
    ports:
      - 8080:80
  mysql:
    container_name: laravel-mysql
    image: mysql:5.7
    environment:
      MYSQL_DATABASE: homestead
      MYSQL_ROOT_PASSWORD: root
      MYSQL_USER: homestead
      MYSQL_SECRET: secret
    ports:
      - 3306:3306
位于拉雷维尔的环境:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
在登录到mysql容器和mysql之后,我尝试显示所有用户,但在初始化容器时没有应该创建的“homestead”用户

docker-compose exec mysql bash
root@8ad8531fb0e0:/# mysql -u root --host=127.0.0.1 -proot
mysql> select User from mysql.user;
+---------------+
| User          |
+---------------+
| root          |
| mysql.session |
| mysql.sys     |
| root          |
+---------------+

我已经尝试移除所有容器并重新构建它。我没有做任何花哨的事情,所以我做错了什么?

问题在于MySQL容器的环境变量。 您应该使用
MYSQL\u密码
而不是
MYSQL\u密码


问题在于MySQL容器的环境变量。 您应该使用
MYSQL\u密码
而不是
MYSQL\u密码


DB\u PASSWORD=secret
但是
MYSQL\u ROOT\u PASSWORD:ROOT
DB\u PASSWORD=secret
但是
MYSQL\u ROOT\u PASSWORD:ROOT