LAMP 環境の docker-compose です。
ちょっとしたポイントとしては、以下な感じです。
- webサーバーは、centos7 のイメージから自前で apache + PHP7.3 環境を構築しています。
- 使いそうなモジュールもとりあえず入れています。
- php.ini の設定も少々変更しています。 (web/added_php.ini)
- xdebug も使える状態です。xdebug.remote_host で宛先を書き換えるだけでOK
- composer もインストールしています。
- db は MySQL ではなく MariaDb 使ってます。が、特に理由はありません。
- phpMyAdmin も便利なので使えるようにしています。
- phpinfo() を 有効にしています。
- ドキュメントルート と DB はホスト側フォルダをマウントして永続化しています。
不要なものは適宜消して docker-compose up すればいいだろう。という方針です。
極力普通に、まったく尖った仕様ではないと自分では思ってます。
以上、備忘録として。
ページ内コンテンツ
docker-compose ファイル一覧
├ .env ├ docker-compose.yml ├ db │ └ conf.d │ └ my.cnf ├ phpmyadmin │ └ config.user.inc.php └ web ├ added_php.ini └ Dockerfile
docker-compose.yml
version: '3'
services:
web:
build: ./web
ports:
- ${WEB_PORT}:80
volumes:
- ./volumes/web/:/var/www/html
- ./web/added_php.ini:/etc/php.d/added_php.ini
container_name: "lamp-web"
db:
image: mariadb/server:10.4
environment:
MYSQL_ROOT_PASSWORD: ${DB_PASSWORD}
MYSQL_ROOT_HOST: "%"
TZ: Asia/Tokyo
ports:
- ${DB_PORT}:3306
volumes:
- ./volumes/db/:/var/lib/mysql
- ./db/conf.d/:/etc/mysql/conf.d
- ./db/initdb/:/docker-entrypoint-initdb.d
container_name: "lamp-db"
phpmyadmin:
image: phpmyadmin/phpmyadmin:latest
ports:
- ${PHPMYADMIN_PORT}:80
environment:
- PMA_ARBITRARY=1
- PMA_HOST=db
- PMA_USER=root
- PMA_PASSWORD=${DB_PASSWORD}
volumes:
- /sessions
- ./phpmyadmin/config.user.inc.php:/etc/phpmyadmin/config.user.inc.php
container_name: "lamp-phpmyadmin"- MYSQL_ROOT_HOST は、デフォルトが"%"のハズだけど何故かそうならない版の為に追加。
web/added_php.ini
memory_limit = -1 upload_max_filesize = 16G post_max_size = 16G max_execution_time = 1200 [Date] date.timezone = "Asia/Tokyo" [mbstring] mbstring.internal_encoding = "UTF-8" mbstring.language = "Japanese" ; XDEBUG ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; xdebug.remote_enable=1 ; 192.168.1.2 ... xdebug.remote_host=host.docker.internal xdebug.remote_port=9000 xdebug.remote_handler="dbgp"
web/Dockerfile
FROM centos:centos7
RUN yum -y update
# タイムゾーンを日本時間に設定
RUN \cp -p -f /usr/share/zoneinfo/Japan /etc/localtime
# install apache2.4
RUN yum -y install httpd
# install php73
RUN yum -y install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
RUN yum -y install --enablerepo=epel libedit libargon2 libzip libXpm libtiff libmcrypt fontconfig-devel libfreetype libpng15 liblzf
RUN yum -y install --disablerepo=* --enablerepo=remi,remi-php73 php php-mbstring php-pdo php-gd php-mcrypt php-mysqlnd php-pecl-redis php-pecl-xdebug php-opcache php-pecl-apcu
# composer インストール
RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
&& php composer-setup.php \
&& php -r "unlink('composer-setup.php');" \
&& mv composer.phar /usr/local/bin/composer
EXPOSE 80
CMD ["httpd", "-D", "FOREGROUND"]| ぺージ情報 | |
|---|---|
| ぺージ名 : | 技術系備忘録/Docker/LAMP環境構築 |
| ページ別名 : | 未設定 |
| ページ作成 : | takatsuka |
| 閲覧可 | |
| グループ : | すべての訪問者 |
| ユーザー : | すべての訪問者 |
| 編集可 | |
| グループ : | なし |
| ユーザー : | なし |
Counter: 5096,
today: 1,
yesterday: 8
初版日時: 2019-09-04 (水) 19:31:11
最終更新: 2019-09-04 (水) 19:37:34 (JST) (2329d) by takatsuka
