0
0

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 3 years have passed since last update.

Docker-Laravelローカル環境を構築(Mac)

Posted at

#どんな記事
Docker上でLaravel環境を構築するための記事

#こんな人向け
・とりあえずLaravelを使いたいけど、ローカル環境は汚したくないのでDockerを使いたい人
・「細けぇことはいいんだよ!とりあえずコード書かせてくれよ!」という人向け

#準備
DockerやDocker-composeなどのインストールは終わっている状態

#ディレクトリ構成
下記の構成に沿ってあらかじめフォルダを作成します
「sample_docker_laravel」の部分は作りたいアプリ名に変更してください
image.png

#docker-compose.ymlの作成

docker-compose.yml
version: '3'

services:

 app:
   ports:
     - "80:80"
   build: ./docker/app
   container_name: laravel_app
   volumes:
     - ./src:/var/www/html

 db:
   image: mysql:5.7
   container_name: laravel_db
   environment:
     MYSQL_ROOT_PASSWORD: root
     MYSQL_DATABASE: laravel_db
     MYSQL_USER: laravel_user
     MYSQL_PASSWORD: laravel_pass
     TZ: 'Asia/Tokyo'

   command: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci
   volumes:
     - ./docker/db/data:/var/lib/mysql
     - ./docker/db/my.cnf:/etc/mysql/conf.d/my.cnf
   ports:
     - 3306:3306

#Dockerfileの作成

FROM php:7.4-apache

ADD php.ini /usr/local/etc/php/
ADD 000-default.conf /etc/apache2/sites-enabled/

RUN cd /usr/bin && curl -s http://getcomposer.org/installer | php && ln -s /usr/bin/composer.phar /usr/bin/composer

RUN apt-get update \
&& apt-get install -y \
git \
zip \
unzip \
vim \
libpng-dev \
libpq-dev \
&& docker-php-ext-install pdo_mysql

RUN mv /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled
RUN /bin/sh -c a2enmod rewrite

#000-default.confの作成
app_nameの部分は作りたいアプリ名にしてください

000-default.conf
<VirtualHost *:80>
       ServerAdmin webmaster@localhost
       DocumentRoot /var/www/html/app_name/public
       ErrorLog ${APACHE_LOG_DIR}/error.log
       CustomLog ${APACHE_LOG_DIR}/access.log combined
       <Directory /var/www/html/app_name/public>
           AllowOverride All
       </Directory>
</VirtualHost>

#php.iniの作成

php.ini
[Date]
date.timezone = "Asia/Tokyo"
[mbstring]
mbstring.internal_encoding = "UTF-8"
mbstring.language = "Japanese"

#my.cnfの作成

my.cnf
[mysqld]
character-set-server=utf8

#ターミナルでアプリのディレクトリへ移動

$ cd app_name

#Dockerを起動状態しておく(忘れないように)
image.png

#Dockerイメージを作成する(ちょっと時間かかります)

$ docker-compose build

#Dockerをバックグランドで起動

$ docker-compose up -d

#コンテナに入る

$ docker exec -i -t laravel_app bash

#laravelアプリを作成
app_nameをアプリ名に変更して実行します

$ composer create-project --prefer-dist laravel/laravel app_name "6.18.*"

#アプリのディレクトリへ移動

$ cd app_name

#ストレージの権限を変更

$ chmod 777 -R storage/
$ php artisan key:generate

#ブラウザで起動確認
Localhost
image.png

#Dockerの起動をストップする場合は

$ docker-compose stop

#参考

Laravel学習帳
非常に丁寧に説明されており、大変参考にさせて頂きました。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?