Skip to content

Instantly share code, notes, and snippets.

@yano
Last active September 10, 2019 06:31
Show Gist options
  • Save yano/64c07ee81db24985fe8f6091cace503d to your computer and use it in GitHub Desktop.
Save yano/64c07ee81db24985fe8f6091cace503d to your computer and use it in GitHub Desktop.
laradockまとめ

apache2は邪魔なのでアンインストールしておく。postgresもlaradockないで動作するのでインストールの必要なし

sudo service apache2 stop
sudo apt-get remove apache2
sudo apt-get autoremove

laravel project作る

laravel/installerは非推奨、使わない。

以下のコマンドでcomposerからlaravel projectを作成。

composer create-project --prefer-dist laravel/laravel project-1

gitから持ってきた場合

以下のコマンドでプロジェクトをアップデートする必要がある。

npm install
composer update

laradock install

http://laradock.io/getting-started/

すでにあるプロジェクトへのlaradockインストールはこう

# プロジェクトのルートフォルダに入って
cd laravel_project

# submoduleでインストール

git init # .gitなければ
git submodule add https://github.com/Laradock/laradock.git

cd laradock

# .envを作る。内容の修正はしない。
cp env-example .env

docker-compose で nginx, postgres環境を作る

cd laradock
cp env-example .env
docker-compose up -d nginx php-fpm postgres pgadmin
docker-compose down # 停止コマンド
docker-compose ps # container一覧

複数のlaravel-projectをホスティングする場合

http://laradock.io/getting-started/#B

ディレクトリ構造は以下のようにする

 + laradock
 + project-1
 + project-2

laradock内の nginx/sites のlaravel.conf.exampleのコピーを<project名>.confとしてて保存。

中身のserver_name, rootをプロジェクト名に書き換える。

server_name <project名>.test;
root /var/www/<project名>/public;
index index.php index.html index.htm;

/etc/hosts にドメイン登録(オプション)

127.0.0.1 <project名>.test

laravelルートフォルダの.envを編集し、databaseの設定を行う

DB_CONNECTION=pgsql
DB_HOST=postgres # hostに接続するためには 127.0.0.1 から postgres に変更する必要がある!
DB_PORT=5432
DB_DATABASE=default
DB_USERNAME=default
DB_PASSWORD=laradockで設定したパスワード

migrateする

docker-compose exec workspace bash
php artisan migrate

以上で動くようになる。

postgresに新しいdatabaseを作る(オプション)

docker-compose exec postgres bash
su - postgres
psql 
CREATE DATABASE project_1 OWNER default; # ハイフンは使えない
\l  データベース一覧
\du ユーザ一覧
\q  終了
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment