なんだかLaravel8のサポート期限もあるので,Laravel9を立ち上げてみたら,Jetstreamが面倒でした.
環境
MacとVSCODEつかってます.
特記事項
Jetstream Team版を入れる前提です.npmのあたりが面倒でした.
フォルダとファイル構成
myapp
├── Docker(←これはファイルですね)
│ ├── App
│ │ ├── 000-default.conf
│ │ ├── Dockerfile
│ │ └── php.ini
│ └── DB
├── docker-compose.yml
└── src
Dockerfile よーしどんなPCケースにしようかなぁ
Dockerfileってなんとなく「秋葉原でパーツを買ってPC組み立てるよ!おっとそのスペックはこれね!」みたいな設定かな.組み立てはビルドって言ってもうちょい後.
で,これはケースの設定と思えばいいかな.
FROM php:8.1-apache-bullseye
EXPOSE 5173
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
RUN curl -sL https://deb.nodesource.com/setup_19.x | bash -
RUN apt-get install -y nodejs
たしか,node19を入れる設定がJetstreamがらみだったと思います.
000-default.conf パーツの設定かな1
パーツ買いに秋葉原に行くんだけど,設定(1)はこれね.たぶんApacheの設定だと思う.
<VirtualHost *:80>
ServerAdmin laravel@localhost
DocumentRoot /var/www/html/public
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/html/public>
AllowOverride All
</Directory>
</VirtualHost>
php.ini パーツの設定かな2
秋葉原に買いに行くパーツはこの設定ねその(2)みたいなの.phpの設定やね.
[Date]
date.timezone = "Asia/Tokyo"
[mbstring]
default_charset = "UTF-8"
mbstring.language = "Japanese"
docker-compose.yml パーツの設定かな3
秋葉原に買いに行くパーツはこの設定ねその(3)みたいなの.パーツの組み立て手順書はみたいなのかな.
# docker-composeのバージョン
version: '3.9'
services:
# アプリの設定
app:
#コンテナの名前をここで決めます。
container_name: myapp
#ポート番号の設定 5173はvite関係で必用
ports:
- "8000:80"
- "5173:5173"
# Dockerfileの場所
build: ./Docker/App
# この中にLaravelを構築する設定(Laravelインストはまだ)
volumes:
- ./src:/var/www/html
# MySQLの設定
db:
#Docker HubからMySQLをとってきます。Lravael9はmysql8以上だったかな
image: mysql:8.0
# コンテナ名の指定(.envで使うよ)
container_name: my_db
# MySQLの設定
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: my_database
MYSQL_USER: mydbuser
MYSQL_PASSWORD: mydbpass
TZ: 'Asia/Tokyo'
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
volumes:
- ./Docker/DB/volume:/var/lib/mysql
- ./Docker/DB/my.cnf:/etc/mysql/conf.d/my.cnf
ports:
- 13306:3306
Dockerのビルド
Dockerのビルドって秋葉原行って買ってきたぞー.よしお家帰ってきたぞー.
じゃ,組み立てるぞーみたいなイメージかな.
docker-compose.ymlのあるディレクトリで,
docker-compose up -d --build
をします.これで,DockerにPC作られたよ!でもソフト入ってないよ〜
Compose使ってLaravelをインストール
PC起動できた(Dockerにコンテナが立ち上がった)!
そしたら,なんかソフトインストールしよう.
じゃ,起動できたPC内で作業すっからここからDockerの中のコマンドラインで実行です.
pwd打って現在のディレクトリがhtmlの中なのを確認して,Dockerでコマンドラインに入ります.
そこで,
composer create-project "laravel/laravel=" . --prefer-dist
をします.これでは最新版が入ってしまうので,バージョン8の指定したい場合は,
composer create-project "laravel/laravel=8.*" . -prefer-dist
にします.
確認
http://localhost:8000/
にアクセスしてLaravelの画面が現れていたらまずは完了です.右下のバージョンを確認してみてください.