Docker Composeを用いてLaravel環境構築
はじめに
前回の記事までで、docker-composeの基礎部分は理解できたと思いました。今回はdocker-composeを使用してLaravel環境を構築していこうと思います。
ファイル準備
ディレクトリ構成
/ -- docker-compose.yml
app/ -- Laravelアプリのソースコード
web/ -- Dockerfile
apache/ -- 000-default.conf
php/ -- php.ini
/ docker-compose.yml
version: '3'
services:
web:
build: ./web
container_name: web
# Laravelのソースコードを格納する
volumes:
- ./app:/var/www/html
# working_dirを設定することで、コンテナに入った時にこのディレクトリから入れる
working_dir: /var/www/html
ports:
- "8080:80"
depends_on:
- db
db:
image: mysql:8.0
container_name: db
ports:
- 3306:3306
environment:
MYSQL_DATABASE: LaravelDB
MYSQL_ROOT_PASSWORD: password
/ web / Dockerfile
FROM php:8.0-apache
# phpの設定ファイルとhttpdの設定ファイルをコンテナ内に設コピー
COPY ./php/php.ini /usr/local/etc/php/
COPY ./apache/000-default.conf /etc/apache2/sites-enabled/
RUN apt-get update
# Laravelプロジェクト作成に必要なパッケージをインストール
RUN apt -y install git unzip
# phpで必要なモノをインストール
RUN docker-php-ext-install pdo_mysql mysqli
# composerのインストール
RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
&& php -r "if (hash_file('sha384', 'composer-setup.php') === 'ハッシュ値') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" \
&& php composer-setup.php \
&& php -r "unlink('composer-setup.php');" \
&& mv composer.phar /usr/local/bin/composer
#Laravelプロジェクトの作成
RUN composer create-project laravel/laravel --prefer-dist laravel_sample
# -- memo -- #
# RUN命令はDockerfileからイメージを作成するときに実行される
# CMD命令はイメージからコンテナが作成される時に実行される
/ web / apache / 000-default.conf
<VirtualHost *:80>
DocumentRoot /var/www/html/laravel_sample/public
<Directory /var/www/laravel_sample>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
/ web / php / php.ini
[Date]
date.timezone = "Asia/Tokyo"
[mbstring]
mbstring.internal_encoding = "UTF-8"
mbstring.language = "Japanese"
ポイント
-
/ docker-compose.yml
volumesでLaravelプロジェクトを作成するディレクトリを指定しています。そのため、ローカルでは /app ディレクトリにLaravelのソースコードが同期されます。 -
/ web / Dockerfile
Laravel環境構築に必要なモノ(Composerなど)のインストールや設定ファイルをローカルからコンテナにコピーしたりしています。「docker-php-ext-install」をすることで、インストールと有効化を同時にしています。
最後にLaravelプロジェクトを作成しています。 -
/ web / apache / 000-default.conf
apacheのバーチャルホストの設定を記載しています。
Laravel環境を構築する
コンテナを作成・起動する
以下のコマンドを実行することで、Laravel環境が構築され、Laravelプロジェクトも作成されます。
docker-compose up -d
起動確認
以下にアクセスし、Laravelの初期ページが表示されれば構築成功です。
http://localhost:8080
最後に
当初の目的であった、dockerでLaravel環境構築は達成できました。
これからは、実際に構築したLaravel環境で簡単なアプリケーションを開発してみようと思います。
参考文献
Author And Source
この問題について(Docker Composeを用いてLaravel環境構築), 我々は、より多くの情報をここで見つけました https://qiita.com/NNKK1234/items/95faa0fc1d5901f9e8d2著者帰属:元の著者の情報は、元の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 .