質問: 自分のやっている方法 ---------- ここ↓のサイトを参考にやってみました。 PHPフレームワーク「Laradock」で、手軽にLaravel+Dockerな開発環境を構築する ``` $ git submodule add https://github.com/Laradock/laradock.git $ tree . ├── laradock └── src ``` その次にlaradockの.envを編集しました。 ``` # .env APP_CODE_PATH_HOST=../src/ ### MYSQL ################################################# MYSQL_VERSION=latest MYSQL_DATABASE=defalt MYSQL_USER=default MYSQL_PASSWORD=secret MYSQL_PORT=3306 MYSQL_ROOT_PASSWORD=root MYSQL_ENTRYPOINT_INITDB=./mysql/docker-entrypoint-initdb.d ``` そしてsrcの.envも次のように編集しました。 ``` # .env DB_CONNECTION=mysql DB_HOST=mysql DB_PORT=3306 DB_DATABASE=default DB_USERNAME=default DB_PASSWORD=secret ``` localhostにLaravelが表示されるところまで行きました。 しかし、phpmyadminを起動しmysqlのホストに接続ができませんでした。 試したこと ----- * ユーザ名を変更 * rootでログインの試み そもそもホストが繋がってない感じがしています。 前回もdocker-composeでnginxとmysqlを接続しようとして失敗しています。 本当にコンテナ名でいけるのか疑問に思っています。 色々いじって悪化してしまいました。 ----------------- 同じ手順で次の日にやってみると ``` $ docker-compose up -d nginx mysql ``` のコマンドでlocalhostに接続できなくなっていました。 ### 試したこと ``` $ docker-compose rmi --all $ docker volume rm $(docker volume ls -qf dangling=true) ``` でコンテナ、イメージ、ボリュームを全部削除して 初めからやり直してもlocalhostは接続できなくなりました。 ``` $ lsof -i:80 ``` で確認してもdocker以外に何もいないです。 やりたいこと ------ * まず戻らなくなってしまった原因をしって最初の状態(localhostがつながる状態)に戻したいです。 * laradockでmysqlと接続し、phpmyadminも使える状態にしたいです。
回答: > > MYSQL_VERSION=latest > > > たぶん、こいつ(MySQL8系がインストールされる)が原因ですね。 PHP(<=7.2)はMySQL8系のデフォルト認証方式に対応していません。 解決策は以下と同じになってしまうので、リンクだけ貼っておきますね。 > > ここ↓のサイトを参考にやってみました。 > > > 質問とは関係ないですが、公式ドキュメントを見る癖をつけましょう。