4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2019-05-31

2.jpg

皆さん、こんにちは!
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)

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

 

4
5
0

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
4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?