1

データベース mysql に問題があります。アクセスできません。Docker でコンテナーを使用できるように Laradock を追加した laravel プロジェクトがあります。laradock ディレクトリで docker-compose up -d mysql nginx と入力して 2 つのコンテナーを起動しました。コンテナーが起動されると、Laravel のホームページにアクセスできますが、データベースと通信しようとすると、次のエラーが発生します。

SQLSTATE [HY000] [2002] 接続が拒否されました。

誰かが私の問題の原因について考えを持っています. ありがとうございました 。

i am on ubuntu 17.10 

Docker version 17.12.0-ce, build c97c6d6

プロジェクト内の私の .env ファイルはこちら

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=db_authors
DB_USERNAME=root
DB_PASSWORD=root

laradockフォルダーの.envファイルは

MYSQL_VERSION=8.0
MYSQL_DATABASE=db_authors
MYSQL_USER=root
MYSQL_PASSWORD=root
MYSQL_PORT=3306
MYSQL_ROOT_PASSWORD=root
MYSQL_ENTRYPOINT_INITDB=./mysql/docker-entrypoint-initdb.d

これが私のdocker-compose.ymlのmysqlコンテナです

mysql:
  build:
    context: ./mysql
    args:
      - MYSQL_VERSION=${MYSQL_VERSION}
  environment:
    - MYSQL_DATABASE=${MYSQL_DATABASE}
    - MYSQL_USER=${MYSQL_USER}
    - MYSQL_PASSWORD=${MYSQL_PASSWORD}
    - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
    - TZ=${WORKSPACE_TIMEZONE}
  volumes:
    - ${DATA_SAVE_PATH}/mysql:/var/lib/mysql
    - ${MYSQL_ENTRYPOINT_INITDB}:/docker-entrypoint-initdb.d
  ports:
    - "${MYSQL_PORT}:3306"
  networks:
    - backend

私のコンテナはうまく起動されています ここでは、実行して得た結果です

docker-compose up -d mysql nginx


Creating network "laradock_default" with the default driver
Creating laradock_mysql_1        ... done
Creating network "laradock_backend" with driver "bridge"
Creating laradock_workspace_1    ... done
Creating laradock_applications_1 ... 
Creating laradock_php-fpm_1      ... done
Creating laradock_php-fpm_1      ... 
Creating laradock_nginx_1        ... do
4

1 に答える 1