PHP
Network
laravel
docker
YYPHP

YYPHP#46「DockerでLaravelを動かそうハンズオン!」

これは2018年07月27日に開催したPHPerイベントYYPHP#46のイベントレポートです。

YYPHPは一言で「PHPerの部室」です。PHPについて、雑に、ゆるく、ワイワイ話し合う集いです。毎回お題を決めずに雑談を出発点にいろいろなことを突発的にやります。集まった人でコードリーディングをすることもあれば、一緒に開発ツールを触ってみたり、フレームワークについての情報交換をすることもあります。開催はほぼ毎週、高田馬場にて。

YouTubeでの配信映像はこちら-> #YYPHP #46 #動画でわかるDocker Laravelハンズオン

#YYPHP #46【PHPの情報交換・ワイワイ話そう・仲間作り・ゆるめ・にぎやかめ】

講師

ハンズオンの主旨

  • DockerでLaravelを起動できるところまでを説明します! Laradockなどの既に構築されていて複雑化してしまったものだとDockerへの理解がなかなかできないため、この #動画でわかるDocker では、とてもシンプルな形を作ってみます。

参加者17名(うちリモート7名)

  • PHP歴
    • 1年未満: 5名
    • 2年未満: 1名
    • 3年未満: 1名
    • 5年: 1名
    • 8年: 1名
    • 10年以上: 1名

今日聞きたいこと(内容はYouTubeでご覧ください)

Dockerハンズオン

mkdir docker-handson && cd docker-handson
mkdir src laravel

install.sh

#!/bin/bash

docker run -v `pwd`/src:/src composer create-project --prefer-dist laravel/laravel /src/$1
chmod +x install.sh && ./install.sh mylaravel

laravel/Dockerfile

FROM php:7.2-apache

RUN set -x && \
  apt-get -y update && \
  apt-get install -y libicu-dev wget unzip libpq-dev libsqlite3-dev libbz2-dev && \
  NPROC=$(grep -c ^processor /proc/cpuinfo 2>/dev/null || 1) && \
  docker-php-ext-install -j${NPROC} intl pdo_pgsql pdo_mysql pdo_sqlite pcntl && \
  rm -rf /tmp/pear

RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf
RUN sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf

WORKDIR /var/www

docker-compose.yml

version: '3.1'
services:
  web:
    build:
      context: ./laravel
    volumes:
      - ./src:/var/www
    environment:
      APACHE_DOCUMENT_ROOT: /var/www/${PROJECT_NAME}/public
    ports:
      - "8080:80"
    depends_on:
      - db
    tty: true
    stdin_open: true

  db:
    image: postgres:10
    ports:
      - "5433:5432"
    environment:
      POSTGRES_PASSWORD: dbpass
      POSTGRES_DB: laravel_test_db

.env

PROJECT_NAME=mylaravel
  • ビルドを実行
docker-compose build
  • Laravelを起動
docker-compose up -d
  • ブラウザでアクセス

http://localhost:8080/

ハンズオン内容はここまで。

YYPHPは毎週やってます

PHPについてワイワイ話したい方は、YYPHPのイベント情報をチェックしてみて下さい。

以上、YYPHPのレポートでした。次回もワイワイやっていきたいと思います! では、また来週!