LARADOCKで複数プロジェクトという環境を設定する。


皆さん、こんにちは!
2015から、Dockerは開発環境を構築する上でのヒーロとして知られています。あなたも良く使っていますね。
Dockerで環境を築きやすいように、PHPコミュニティがLARADOCKを紹介しました。

1. LARADOCKとは何ですか?

LaradockはDocker用の完全なPHP開発環境です。
Laradockの中で事前にパッケージ化されたDockerイメージが含まれていて、素晴らしいPHP開発環境を提供するように事前設定された。

2. どうやってLARADOCKを使いますか?

心配しないで、とても簡単ですよ。GitでLaradockをクローンだけです。
今日私たちは複数プロジェクトの環境を築き方を調べましょう。
環境で含めるサービス:

  • NGINX
  • MYSQL5.7
  • PHPMYADMIN
  • REDIS
  • 2つのLaravel5.8ソースコード

ディレクトリ構造は以下のようになります。
ー PHP_PROJECTS
  ー LARADOCK (git clone https://github.com/laradock/laradock.git)
  ー LARAVEL−1
  ー LARAVEL−2

次はLARADOCKで.ENVファイルを作る。
cp .env-example .env
LARADOCKはDOCKERのコンテナを作る時に、デフォルトで最新版IMAGEをダウンロードしますので、特定版が欲しい時に、.envでおチェンジしてください。今MYSQLの最新版は⒏0ですので、⒌7にします。
```

MYSQL

MYSQL_VERSION=5.7
MYSQL_DATABASE=default
MYSQL_USER=default
MYSQL_PASSWORD=secret
MYSQL_PORT=3306
MYSQL_ROOT_PASSWORD=root
MYSQL_ENTRYPOINT_INITDB=./mysql/docker-entrypoint-initdb.d
```

VirtualHostを設定します。

cp laradock/nginx/sites/laravel.conf.example laravel-1.conf
cp laradock/nginx/sites/laravel.conf.example laravel-2.conf

各ファイルでプロジェクトのために、修正する。
例えばlaravel-1.confファイルで

server {
    listen 80;
    listen [::]:80;

    # For https
    # listen 443 ssl;
    # listen [::]:443 ssl ipv6only=on;
    # ssl_certificate /etc/nginx/ssl/default.crt;
    # ssl_certificate_key /etc/nginx/ssl/default.key;

    server_name laravel-1.test;
    root /var/www/laravel-1/public;
    index index.php index.html index.htm;

    location / {
         try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~ \.php$ {
        try_files $uri /index.php =404;
        fastcgi_pass php-upstream;
        fastcgi_index index.php;
        fastcgi_buffers 16 16k;
        fastcgi_buffer_size 32k;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        #fixes timeouts
        fastcgi_read_timeout 600;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }

    location /.well-known/acme-challenge/ {
        root /var/www/letsencrypt/;
        log_not_found off;
    }

    error_log /var/log/nginx/laravel_error.log;
    access_log /var/log/nginx/laravel_access.log;
}

hostsをコンフィグする(vim /etc/hosts and add new row)**

127.0.0.1 laravel-1.test laravel-2.test

OK.準備ステーブが終わりました。次はコンテナを作りましょう。

コンテナを作る。
注意:LARADOCKで事前に化されたパッケージが沢山有りますので、必要なパッケージだけ呼び出してください。何も入れないなら、全てのコンテナが作って、時間がかかりますから、

docker-compose up -d nginx mysql phpmyadmin redis

上のコマンドが終わったら、環境も築けました。チェックのため、docker psでチェックする

Workspaceコンテナに入ります。
(Artisan、Composer、PHPUnit、Gulpなど)のようなコマンドを実行するには、Workspaceコンテナに入ります。
docker-compose exec workspace bash

結果をチェックする。
- サイトをアクセスする: laravel-1.test
- PHPMYADMIN: localhost:8080 (server: mysql, username: root, password:root)

ここまで、終わりいたします。
読んでいただき、有難うございます。