限りなく簡単に!Dockerを利用してLaravelが動くところまでを構築!
目的
Dockerを利用して、Laravel PHPのWelcome画面表示までを行います!
開発環境での利用を想定しています。セキュリティ的に配慮する点が多数ありますので、間違っても本番サーバでそのまま利用することは控えてください!
想定する読者
- とりあえずLaravelが動くところを見たい方
- ストレスなくLaravel PHPの開発環境を整えたい方
- Dockerを使いたいけど、どう使えば良いかわからない方
前提
OS : Mac OS EL Capitan
インストールしてあるもの :
Docker for Mac
※DockerがインストールされているWindows10やLinux系OSでも動作するはずです。
gitコマンド
GitHubにファイル一式あります。
デスクトップを動画キャプチャしたら本当に5分でした!
構築手順
いよいよ、構築します。ほとんどコマンドラインでの作業です。
作業場所
参考までに当方は
/Users/{$user}/Documents/workspace
というフォルダで作業しています。
注意
Mac OSやLinuxであればどこでも大丈夫なはずですが、Windows10の場合はユーザ直下のフォルダで作業しましょう。DockerがPC上のフォルダをマウントするときにユーザ直下であれば何も設定せずに利用することが可能です!
実行
$ git clone [email protected]:RyosukeKamei/laravel-alpine.git
$ cd laravel-alpine
PHPのパッケージマネージャComposerをインストールします。
すでにインストールしてある場合は不要です。
$ curl -sS https://getcomposer.org/installer | php
【補足】
Composer.pharはパスが通っているところに移動させてもよいです。
$ php composer.phar --version
いよいよLaravelをインストールします。
"project"は任意の名前にしますが、一旦このままprojectにしてください。
名称を変えたい場合は、この記事の最後で説明をしています。
$ php composer.phar create-project laravel/laravel project --prefer-dist
もし、GitHubでアクセストークを取得し設定していない場合は、Laravelインストール中に
Token (hidden):
と聞かれます。その度にEnterしても良い(面倒です…)のですが、事前にGitHubでアクセストークンを取得し、下記を実行しておくと聞かれなくなります。
トークンはGitHubのアカウントを取得すると作成することができます。詳細はここでは割愛します。
(トークンを設定するのは、GitHub側の不正アクセス防止策です。)
$ php composer.phar config --global github-oauth.github.com {GitHubで取得したトークン}
続いて、Dockerを利用して、アプリコンテナ・データベースコンテナ・データコンテナを作成します。
$ docker-compose up -d
$ docker ps -a
ブラウザで確認で確認してみましょう!
http://192.168.99.100/
プロジェクト名を変えたい場合
このままだとプロジェクト名がprojectのままです。
docker-compose.ymlの46行目にあるビルドインサーバの設定を変更します。
working_dir: /var/www/html/project/public
↓
working_dir: /var/www/html/{ここをフォルダ名と同じにする}/public
参考
# dataコンテナ
# 最近の主流ではない?
data:
container_name: Alpine-data
image: alpine
stdin_open: true
tty: false
# docker-composeを実行するフォルダをマウントする
volumes:
- .:/var/www/html
command: /bin/sh
# mysql
# MySQLはmy.cnfを追加したカスタム版
db:
container_name: Alpine-MySQL-db
build: ./docker/mysql
volumes_from:
- data
ports:
- "3306:3306"
environment:
# MySQLのrootパスワード
MYSQL_ROOT_PASSWORD: Mm6iR9KY
# デフォルトのデータベースとユーザの設定
MYSQL_DATABASE: laravel
MYSQL_USER: system
MYSQL_PASSWORD: Yu4JFkX6
application:
container_name: Alpine-Laravel-app
# Dockerfileを使いビルド(docker-compose up -dで一発構築)
build: ./docker/app
tty: false
volumes_from:
- data
expose:
- "80"
ports:
- "80:80"
environment:
CODEIGNITER_ENV: development
links:
- db
# ビルドインサーバを利用 プロジェクト名を変更する場合はprojectを変更する
working_dir: /var/www/html/project/public
command: php -S 0.0.0.0:80
Author And Source
この問題について(限りなく簡単に!Dockerを利用してLaravelが動くところまでを構築!), 我々は、より多くの情報をここで見つけました https://qiita.com/RyosukeKamei/items/b3020f614aa27d9b3958著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .