Dockerを使ってLaravelの開発環境を構築する
カテゴリ:インターン生ブログ
こんにちは!伊神です!
この記事では、現場で最近よく用いられているDockerを用いてLaravelの環境を構築する方法を簡単にご紹介します!
Laravelの構築から表示まで紹介しているので実際に自分の環境でも作りながら読んでみてください!
初期構成
初期ディレクトリ構成は以下です。
laravelapp/
├ docker/
│ └ app/
│ └ db/
└ laravel/
Laravelのインストール
composerを使いlaravelをインストールします。
1 |
composer create-project laravelapp/laravel --prefer-dist laravel |
「Application key set successfully.」と表示されれば成功です!
Dockerfileの作成
appフォルダとdbフォルダの配下にDockerfileをそれぞれ作成します。
docker/app/Dockerfile
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# CentOSの最新版指定 FROM centos:latest RUN yum -y update && yum -y install httpd # Apacheの最新版インストール RUN yum -y install epel-release \ && rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm \ && yum -y install --enablerepo=remi,remi-php72 php \ php-opcache php-devel php-mbstring php-mcrypt php-mysqlnd php-phpunit-PHPUnit \ php-pecl-xdebug php-gd php-intl php-symfony php-pdo php-xml php-tokenizer php-pear php-zip # PHPとエクステンションをインストール ENTRYPOINT ["/usr/sbin/httpd", "-DFOREGROUND"] |
docker/db/Dockerfile
1 2 3 |
# mysqlの最新版指定 FROM mysql:latest COPY ./conf.d /etc/mysql/conf.d |
MySQLの設定
docker/db 配下に conf.dディレクトリを作成しmy.cnfファイルを作成します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
[mysqld] # 文字コード設定 character_set_server=utf8mb4 collation-server=utf8mb4_bin collation_server = utf8mb4_ja_0900_as_cs # プラグイン設定 default_authentication_plugin=mysql_native_password # 日本時間設定 default-time-zone='+9:00' [mysql] default-character-set=utf8mb4 |
Docker Compose
docker/ 配下に docker-compose.yml を作成します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
version: '3' services: db: container_name: laravel_db_inglow build: ./db/ image: laravel_db_inglow environment: MYSQL_ROOT_PASSWORD: password111 MYSQL_DATABASE: laravel_db ports: - 3306:3306 app: container_name: laravel_app_inglow build: ./app/ image: laravel_app_inglow ports: - 80:8000 links: - db volumes: - ../laravel:/var/www/html/laravel stdin_open: true tty: true depends_on: - db |
コンテナの作成
設定が完了したのでコンテナを作成します。
まずDockerディレクトリに移動し、
コンテナイメージの作成
1 |
docker-compose build |
コンテナの起動
1 |
docker-compose up |
ビルドサーバーの起動
1 |
docker exec -it laravel_app_inglow php /var/www/html/laravel/artisan serve --host 0.0.0.0 |
ブラウザから http://localhost へアクセスしてlaravel画面が表示されれば成功です
最終的な構成
laravelapp/
├ docker/
│ └ app/
│ └ Dockerfile
│ └ db/
│ └ Dockerfile
│ └ conf.d
│ └ my.cnf
│ └ docker-compose.yml
└ laravel/
└ app/
└ bootstrap/
└ などなど
最後に
今回はDockerを用いてLaravelの環境を構築する方法を簡単にご紹介しました!
Dockerの構築方法はこの方法以外にもたくさんあるのでそれぞれ調べてみてください!