LoginSignup
0

More than 3 years have passed since last update.

Laradockでの環境作成と詰まったこと

Posted at

最初に

暇なのでLaradockで簡単に環境を作ってみたくなったが思ったより手こずった話

Laradockとは

Dockerを使ったLaravel環境を簡単に作れるもの

前提

macで自分はやっています。
gitとdockerが入っていること

作業

最初

作業用ディレクトリの作成

mkdir app
cd app

laradockを上で作成したディレクトリの入れる

git clone https://github.com/LaraDock/laradock.git

laradockの.envの内容を整える

cd laradock
cp env-example .env

起動させたいコンテナを起動させる(phpmyadminやredisとかお好みで)

docker-compose up -d nginx mysql redis beanstalkd phpmyadmin workspace

workspaceという作業ようコンテナに入る

docker exec -it laradock_workspace_1 bash

プロジェクトの作成 (sampleappはプロジェクト名でなんでもいいです。)

composer create-project "laravel/laravel=5.5.*" sampleapp

一旦ローカルのlaradockに戻りenvの修正

- APP_CODE_PATH_HOST=../  
+ APP_CODE_PATH_HOST=../sampleapp

これで最低限の環境はできたはず

とかでlaravelの画面が出ればok

詰まったこと

migration使ってテーブル操作などしようとして

php artisan migrate

と打ったら

In Connection.php line 664:

  SQLSTATE[HY000] [2002] No such file or directory (SQL: select * from information_schema.tables where table_schema = sampleapp and table_name = migrations)


In Connector.php line 67:

  SQLSTATE[HY000] [2002] No such file or directory

結論から言うと下記の記事の通りやったら動いた。

LaradockのMySQLに接続できなくてはまった話

やったこと1

mysql5.7に変更(もしかしたらこれはいらなかったかもしれないw)

イメージ、データ削除

docker rmi laradock_mysql
docker rm volume laradock_mysql
rm -rf ~/.lardock/data/mysql

laradock/.envのバージョンを5.7に変更

MYSQL_VERSION=5.7

再ビルド

$ docker-compose build --no-cache mysql

やったこと2

laravelプロジェクトの.envファイルを下記のようにDB_HOST=mysqlとした(パスワード/userは参考のために適当に記述してるのでお好みで)

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

これらをやったら動いた。

感想

簡単に環境構築できるのがlaradockの魅力だと思い触ってみたが想定外のとこで
詰まってしまった。
DB_HOSTがローカルホストのままでdockerコンテナのmysqlをさしてなかった。

ただ、それ以外はそんな大変ではなく簡単にdbから他のサービスまで含んで構築できるのでなかなかいいものではありそう。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0