2
3

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プロジェクトを作るまで(Windows)

Posted at

WSL2のおかげかWindowsでもDockerが楽に動かせるようになったので。
とりあえずPHP環境を作って、そこにLaravelをインストールする感の流れを書いておきます。

動作環境

  • Windows10
  • VisualStudioCode
  • Docker

WSL2のインストール

docker関連のファイルを準備

以下のようなファイルを準備。
記述内容は各自好きな感じに変えるといいと思います。

困ったらこちらでも読めば解決すると思います。
https://docs.docker.com/compose/

docker-compose.yml
version: '3'
services:
  laravel:
    container_name: laravel
    build:
      context: .
      dockerfile: ./docker/php/Dockerfile
    volumes:
      - ./laravel:/var/www/html/laravel
    ports:
      - "8080:80"
      # - "443:443"
  mysql:
    container_name: mysql
    build:
      context: .
      dockerfile: ./docker/mysql/Dockerfile
    environment:
      - MYSQL_ROOT_PASSWORD=password
      - MYSQL_USER=laravel
      - MYSQL_PASSWORD=password
      - MYSQL_DATABASE=test
    volumes:
      - ./mysql:/var/lib/mysql
    ports:
      - 3306:3306
docker/php/Dockerfile
FROM php:8.0-apache
RUN apt-get update \
  && apt-get install -y git unzip \
  && docker-php-ext-install pdo_mysql \
  && a2enmod rewrite
docker/mysql/Dockerfile
FROM mysql:5.7

VSCodeからDockerの拡張機能を導入

ms-azuretools.vscode-dockerをインストール。

image.png

Dockerの起動

起動していないとエラーになるので忘れずに。

VSCode上でdocker-compose.ymlを使って動かす

拡張機能のDockerを入れておけば、docker-compose.ymlを右クリックした際にメニューがいくつか追加されてます。
右クリック > Compose RestartでLaravel用とMySQL用のDockerのコンテナが2つ立ち上がります。
image.png

composerでLaravelのインストール

composerが入っている環境でコマンドを実行します。
(Dockerfileにcomposerを導入するように書き換えておくと楽かも)

以下のコマンドでlaravelがインストールされます。
バージョンは各自好きなものを指定すれば良いと思います。

cd /var/www/html
composer create-project "laravel/laravel=8.5.*" laravel

構築完了

http://localhost:8080/laravel/publicにアクセスすれば、LaravelのWelcomeページが出ます。
ここからいろいろ作り始める感じですね。

URLが気になる方はDocumentRootとか変えると良いかも。

image.png

Failed to open stream: Permission deniedと出た時

The stream or file "/var/www/html/laravel/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied

よくある権限エラーです。
storageフォルダの権限を変えてしまいましょう。

chown -R www-data:www-data laravel/storage
# もしくは
chmod -R 777 laravel/storage
2
3
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
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?