皆さん、こんにちは!
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)
ここまで、終わりいたします。
読んでいただき、有難うございます。