# Docker環境に構築 ### Dockerのセットアップ ##### docker-compose.yml作成 ``` # docker-compose.yml version: '3.9' services: app: build: context: container_name: breeze_app volumes: - :/var/www/html ports: - "8000:80" environment: - TZ=Asia/Tokyo depends_on: - db db: image: mysql:8.0 container_name: breeze_db command: --default-authentication-plugin=mysql_native_password environment: MYSQL_DATABASE: laravel_breeze MYSQL_ROOT_PASSWORD: <パスワード> MYSQL_USER: laravel_breeze MYSQL_PASSWORD: <パスワード> TZ: Asia/Tokyo volumes: - db_data:/var/lib/mysql expose: - 3306 volumes: db_data: ``` ##### Dockerfile作成 ``` # Dockerfile FROM php:8.0-fpm RUN apt-get update && apt-get upgrade -y && apt-get install -y unzip libzip-dev RUN docker-php-ext-install pdo_mysql zip RUN docker-php-ext-enable pdo_mysql zip RUN docker-php-ext-install pdo_mysql RUN docker-php-ext-enable pdo_mysql RUN curl -sL https://deb.nodesource.com/setup_16.x | bash - RUN apt-get install -y nodejs COPY --from=composer:latest /usr/bin/composer /usr/bin/composer WORKDIR /var/www/html ENV COMPOSER_ALLOW_SUPERUSER=1 ENV COMPOSER_HOME /composer ENV PATH $PATH:/composer/vendor/bin RUN echo "Asia/Tokyo" > /etc/timezone RUN dpkg-reconfigure -f noninteractive tzdata RUN apt-get install -y locales RUN sed -i -e 's/# ja_JP.UTF-8 UTF-8/ja_JP.UTF-8 UTF-8/' /etc/locale.gen RUN locale-gen ENV LANG ja_JP.UTF-8 ENV LANGUAGE ja_JP:ja ENV LC_ALL ja_JP.UTF-8 EXPOSE 80 ``` ##### コンテナ作成 ``` $ docker-compose up -d --build ``` ### Laravelプロジェクト作成 ``` $ docker exec -it breeze_app bash # コンテナの中に入る $ composer global require laravel/installer $ composer create-project --prefer-dist laravel/laravel=9.* . $ chmod -R a+w storage bootstrap/cache public ```