カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

Docker + Laravel9 開発環境構築

Dockerを使ってLaravel9の開発環境を構築してみたいと思います。
XAMPPやレンタルサーバーを使うよりお手軽に出来るので是非試してみてください。

OS等の環境は以下の通りです。

OS: Windows10
Docker Desktop: v4.14.1
Visual Studio Code: v1.74.0

Dockerで環境構築

予め必要なファイル等を準備します。
Laravelのプロジェクト名は「laravel-app」と仮定します。

docker/app/000-default.conf
<VirtualHost *:80>
       ServerAdmin webmaster@localhost
       DocumentRoot /var/www/html/laravel-app/public
       ErrorLog ${APACHE_LOG_DIR}/error.log
       CustomLog ${APACHE_LOG_DIR}/access.log combined
       <Directory /var/www/html/laravel-app/public>
           AllowOverride All
       </Directory>
</VirtualHost>
docker/app/Dockerfile
# dockerイメージの選択
# 予めPHPとApacheがインストールされているイメージをDocker Hubからダウンロード
FROM php:8.0-apache

# 設定ファイルをdockerコンテナ内のPHP、Apacheに読み込ませる
# ADD:ローカルのファイルをDockerコンテナ内にコピーする
ADD php.ini /usr/local/etc/php/
ADD 000-default.conf /etc/apache2/sites-enabled/

# Composerのインストール
# RUN:コンテナ内でコマンド実行する
RUN cd /usr/bin && curl -s http://getcomposer.org/installer | php && ln -s /usr/bin/composer.phar /usr/bin/composer

# Node.jsをインストール
RUN curl -sL https://deb.nodesource.com/setup_16.x | bash -
RUN apt-get install -y nodejs

# ミドルウェアのインストール
RUN apt-get update \
&& apt-get install -y \
git \
zip \
unzip \
vim \
libpng-dev \
libpq-dev \
&& docker-php-ext-install pdo_mysql

# Laravelで必要になるmodRewriteを有効化する
RUN mv /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled
RUN /bin/sh -c a2enmod rewrite

続きを読む…»

3,458 views

Docker環境構築初期の落とし穴 localhost/tutorial

Dockerで作成した環境で開発を始めようとしたときに少しハマってしまったので原因と解決法を書いておきたいと思います。
環境は次の通りです。

Windows10 Home
Docker Desktop v4.14.1

大抵の場合、Dockerをインストールして最初にやってみるコマンドは以下だと思います。

docker run -d -p 80:80 docker/getting-started

このコマンドを実行してコンテナが作成され、http://localhostにアクセスするとGetting Started画面が表示されます。
ここがポイントなのですが、http://localhostにアクセスするとhttp://localhost/tutorialにリダイレクトされます。
このリダイレクトが曲者で、キャッシュに残ってしまうのです。

Dockerの導入が終わったので、いざ開発を始めた際に、一通り環境構築が終わった後、http://localhostにアクセスして出来ているか確認しますが、キャッシュが残っていることが原因でhttp://localhost/tutorialにリダイレクトされてしまいます。
表示したいのはhttp://localhostなのに・・・。

Windowsのhostsファイルが原因なのかと思いましたがどうも違うよう。
結局、原因はブラウザのキャッシュでした。

キャッシュをクリアするとリダイレクトされなくなりました。

1,157 views

Docker環境の構築(Windows)

Dockerの環境を構築しようとして、結構色々と手間だったので備忘録ついでに手順をご紹介します。
環境によって多少の違いがあるかもしれませんが、参考になれば幸いです。
今回構築した環境はWindows10 Home 64bitです。

Dockerの環境構築に必要なものはこちらです。

  • Windows Terminal
  • Visual Studio Code(VSCode)
  • Git for Windows
  • WSL2
  • Docker

今回、VSCodeとGitのインストールについては割愛させていただきます。
ダウンロードのリンク先だけ貼っておきます。
VSCode: https://code.visualstudio.com/
Git for Windows: https://gitforwindows.org/

Windows Terminal

Windows Terminalはタブを利用してターミナルを使えるソフトになります。
Microsoft Storeからインストールします。

https://apps.microsoft.com/store/detail/windows-terminal/9N0DX20HK701?hl=ja-jp&gl=JP

VSCodeにDocker拡張機能

VSCodeにDockerの拡張機能をインストールしてください。

WSL2

Windows上でLinuxを動かせるようにする仕組みです。
DockerはLinux上で動作させるのが良いみたいです。

WSL2を有効化してWindows上にLinux環境を構築します。
続きを読む…»

533 views