LoginSignup
0
0

More than 3 years have passed since last update.

Docker 環境構築(php+nginx+mysql+memcached)

Last updated at Posted at 2019-10-12

ディレクトリ構成

---docker
|--docker-compose.yml
|--docker
|  |--nginx
|  |    |--Dockerfile
|  |    |--nginx.conf
|  |    |--conf.d
|  |         |--default.conf
|  |
|  |--phpfpm
|  |    |--Dockerfile
|  |    |--php.ini
|  |
|  |--mysql
|  |    |--Dockerfile
|  |    |--my.cnf
|  |
|  |--memcached
|       |--Dockerfile
|
|--volumes
   |--db
   |  |--data
   |
   |--logs
   |--nginx
   |--www
      |--html
      |--webcore

docker-compose.ym

間違ってたので修正中

nginx

:latestと:alpineの違い
:latest → bash/shが使用可能
:alpine → shのみ使用可能

Dockerfile

FROM nginx:alpine

conf.d/default.conf

mysql

Dockerfile

#イメージ指定
FROM mysql:5.7

my.cnf

[mysql]
default-character-set=utf8mb4

[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
explicit_defaults_for_timestamp=1
default-time-zone=Asia/Tokyo
max_allowed_packet=32M
skip-symbolic-links=1

[client]
default-character-set=utf8mb4

phpfpm

Dockerfile

FROM php:7.3-fpm-alpine

RUN apk update \
&& apk add \
    autoconf \
    vim \
    git \
    zip \
    gcc \
    g++ \
    make \
    libmemcached-dev \
    zlib-dev \
    freetype-dev \
    libjpeg-turbo-dev \
    libpng-dev \
    libmcrypt-dev \
    postgresql-dev \
&& pecl install memcached \
&& docker-php-ext-install \
    mbstring \
    json \
    exif \
    mysqli \
    pdo_mysql \
    gd \
    pgsql \
    pdo_pgsql \
    hash

php.ini

[Date]
date.timezone = "Asia/Tokyo"

[mbstring]
mbstring.internal_encoding = "UTF-8"
mbstring.language = "Japanese"

[extension]
enabled_dl = On

[memcached]
extension=memcached.so

php-fpm.conf

memcached

Dockerfile

FROM memcached:latest
0
0
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
0
0