Laravel 5.5 “完全に理解した” 。5.2 の中級者向けタスクリストを 5.5 でやりきるためのページ

スポンサードリンク


はじめに

を座右に置きながら、 Laravel 5.5 で実践したときの記録をすべて載せました。上記ページと本投稿に沿って実践すれば、 Laravel 5.5 での中級者向けタスクリストを作ることができます。

最終の完全なソースコードは次のページから取得可能です。

早速、始めていきます。

“Laravel 5.5 “完全に理解した” 。5.2 の中級者向けタスクリストを 5.5 でやりきるためのページ” の続きを読む

Nginx + PHP-FPM で unix ドメインソケットを使ったシンプルな docker-compose.yml を書きました。2

ポイント

  • Docker イメージは、 alpine を使わない。
  • Nginx の実行ユーザと PHP-FPM の listen.owner 、 listen.group とを一致させる。
  • Nginx で fastcgi_pass に指定するファイルのディレクトリと、 PHP-FPM で listen に指定するファイルのディレクトリとを、 Docker Compose のトップレベルで定義する名前付き volume で共有する。

“Nginx + PHP-FPM で unix ドメインソケットを使ったシンプルな docker-compose.yml を書きました。2” の続きを読む

Dockerfile でタイムゾーン設定するメモ

まとめ

FROM debian:stretch-slim なイメージはこれで OK でした。
例えば、今回設定したのは次です。

  • php:apache
  • mysql:latest
FROM mysql:latest

ARG TZ=UTC
ENV TZ ${TZ}
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

COPY ./config-file.cnf /etc/mysql/conf.d/

${TZ} は、docker-compose.yml で定義しました。args と environment です。
${WORKSPACE_TIMEZONE} は、.env ファイルで定義しています。

services:
  php_apache:
    build:
      context: ./php_apache
      args:
        TZ: ${WORKSPACE_TIMEZONE}
    environment:
      - TZ=${WORKSPACE_TIMEZONE}
... 略 ...

“Dockerfile でタイムゾーン設定するメモ” の続きを読む

PHP GD をインストールするための Dockerfile の少し複雑な内容メモ

GD を使える php:5.6-apache の Dockerfile 内容

FROM php:5.6-apache
RUN  apt-get update && apt-get install -y \
    libfreetype6-dev \
    libjpeg62-turbo-dev \
    libpng-dev \
    && docker-php-ext-install gd pdo_mysql mysqli mbstring \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/* \
    && a2enmod rewrite
COPY ./php.ini /usr/local/etc/php/
COPY ./000-default.conf /etc/apache2/sites-available/000-default.conf

ポイント

“PHP GD をインストールするための Dockerfile の少し複雑な内容メモ” の続きを読む

Docker Compose で気軽に Apache PHP 環境を構築するメモ

ファイルの内容

  • 適当なフォルダに docker-compose.yml を作成
  • docker-compose.yml を置いたフォルダに、data/var/www/html フォルダを作る
  • data/var/www/html フォルダに HTML や PHP ファイルを置く
  • コンテナ起動後、ウェブブラウザで http://localhost 等にアクセスする

“Docker Compose で気軽に Apache PHP 環境を構築するメモ” の続きを読む

ローカル開発環境の古い MySQL、バージョン 5.5 を Docker で再現できるかやってみましたらできました♪

はじめに

  • 開発のために MySQL 5.5 を手元の Windows にインストールしなければならない。
  • はっきりいって嫌だ。
    • Windows 起動時に自動的に MySQL も起動してしまったり。
    • Windows のポートも使用されてしまったり。
  • Docker で再現できるのでは?
    • Nginx を Docker で使ったとき、http://localhost でウェブページにアクセスできた。
    • Nginx を Docker で使ったとき、docker run 時、-p 8080:80 などとすれば、http://localhost:8080 でアクセスできた。
    • つまり、ホスト (Docker をインストールしたマシン) からコンテナに対して、localhost と指定したポート番号でアクセスできるということ。
  • A5:SQL Mk-2 – フリーの汎用SQL開発ツール/ER図ツール .. 松原正和 からアクセスできるか、やってみる。

“ローカル開発環境の古い MySQL、バージョン 5.5 を Docker で再現できるかやってみましたらできました♪” の続きを読む

【Docker】volumes で永続化した場合、コンテナが消えようがイメージが消えようが、永続化したファイルは残る

永続化関連のまとめと遭遇したトラブル

  • コンテナを削除 (docker rm や docker-compose down など) しても、volumes のホスト側のファイルは残る。
  • MySQL の /docker-entrypoint-initdb.d/ に置いた SQL ファイルは、コンテナを作成 (1回目) してコンテナを削除して、コンテナを作成 (2回目) した場合、1 回目しか実行されない。
    • 1 回目で永続化されたファイルが出来上がり、これは削除されない。すると 2 回目では永続化された DB ファイルがあるため、実行されないのであろう。
    • したがって、開発中などの場合、永続化の設定をした状態で 2 回目のコンテナを作成する前に /docker-entrypoint-initdb.d/ の SQL を編集してもその内容はコンテナに反映されない。
    • 永続化したファイルを消せば、コンテナに反映される。

“【Docker】volumes で永続化した場合、コンテナが消えようがイメージが消えようが、永続化したファイルは残る” の続きを読む

【Docker】MySQL のコンテナ A に、MySQL のコンテナ B からシンプルに接続する方法

はじめに

Docker さえあれば、MySQL クライアントが用意できる、それもたった 1 行のコマンドで。

これが実現できましたのでノートいたします。

“【Docker】MySQL のコンテナ A に、MySQL のコンテナ B からシンプルに接続する方法” の続きを読む

【Docker】Nginx + PHP-FPM のシンプルな docker-compose.yml のポイントをノートしました

はじめに・環境

意外なことに注意しなければならない点があったため、メモいたします。

$ SW_VERS
ProductName:	Mac OS X
ProductVersion:	10.12.6
BuildVersion:	16G1510
$
$ docker --version
Docker version 18.06.0-ce, build 0ffa825
$ docker-compose --version
docker-compose version 1.22.0, build f46880f
$

Nginx + PHP-FPM のシンプルな docker-compose.yml のポイント

  • Nginx コンテナの volumes に HTML を置くディレクトリを指定しないと、HTML を処理してブラウザで表示できない。
  • 補足すると、PHP コンテナの volumes に PHP を置くディレクトリを指定してここに HTML ファイルを置いたとしても、その HTML ファイルはブラウザで表示できない。
  • 逆も然り。PHP コンテナの volumes に PHP を置くディレクトリを指定しないと、PHP を処理してブラウザで表示できない。
  • それぞれのコンテナごとに、必要な volume を省略しないで明確に記述すること。

“【Docker】Nginx + PHP-FPM のシンプルな docker-compose.yml のポイントをノートしました” の続きを読む

Nginx + PHP-FPM で unix ドメインソケットを使ったシンプルな docker-compose.yml を書きました。

はじめに

TCP/IP の 9000 ポートで Nginx から PHP へ接続することができるようになりました。これを、Unix ドメインソケットに変更したい、そんな中で得たことを残します。。

“Nginx + PHP-FPM で unix ドメインソケットを使ったシンプルな docker-compose.yml を書きました。” の続きを読む