Back to page

− Links

 Print 

Diff of 技術系備忘録​/Docker​/LAMP環境構築 :: シンクリッジ

Diff of xpwiki:技術系備忘録/Docker/LAMP環境構築

« Prev[3]  
1: 2019-09-04 (Wed) 19:31:11 takatsuka[4] source[5] Cur: 2019-09-04 (Wed) 19:37:34 takatsuka[4] source[6]
Line 1: Line 1:
-準備中 +LAMP 環境の docker-compose です。 
-* docker-compose.yml [#n8b21bed]+ 
 +ちょっとしたポイントとしては、以下な感じです。 
 + 
 +- 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 すればいいだろう。という方針です。 
 +極力普通に、まったく尖った仕様ではないと自分では思ってます。 
 +以上、備忘録として。 
 + 
 +#contents 
 + 
 +* docker-compose ファイル一覧 [#o24cab0e] 
 + ├ .env 
 + ├ docker-compose.yml 
 + ├ db 
 + │ └ conf.d 
 + │    └ my.cnf 
 + ├ phpmyadmin 
 + │ └ config.user.inc.php 
 + └ web 
 +   ├ added_php.ini 
 +   └ Dockerfile 
 + 
 +** .env [#s7065a67] 
 + 
 + # web 
 + WEB_PORT=10080 
 +  
 + # phpMyAdmin 
 + PHPMYADMIN_PORT=10081 
 +  
 + # db 
 + DB_PORT=13306 
 + DB_PASSWORD=pass 
 + 
 +** docker-compose.yml [#n8b21bed]
 version: '3'  version: '3'
 services:  services:
 + 
   web:    web:
     build: ./web      build: ./web
Line 11: Line 54:
       - ./volumes/web/:/var/www/html        - ./volumes/web/:/var/www/html
       - ./web/added_php.ini:/etc/php.d/added_php.ini        - ./web/added_php.ini:/etc/php.d/added_php.ini
-     container_name: "lampp-web" +     container_name: "lamp-web" 
 + 
   db:    db:
     image: mariadb/server:10.4      image: mariadb/server:10.4
     environment:      environment:
       MYSQL_ROOT_PASSWORD: ${DB_PASSWORD}        MYSQL_ROOT_PASSWORD: ${DB_PASSWORD}
 +       MYSQL_ROOT_HOST: "%"
 +       TZ: Asia/Tokyo
     ports:      ports:
       - ${DB_PORT}:3306        - ${DB_PORT}:3306
Line 23: Line 68:
       - ./db/conf.d/:/etc/mysql/conf.d        - ./db/conf.d/:/etc/mysql/conf.d
       - ./db/initdb/:/docker-entrypoint-initdb.d        - ./db/initdb/:/docker-entrypoint-initdb.d
-     container_name: "lampp-db" +     container_name: "lamp-db" 
 + 
   phpmyadmin:    phpmyadmin:
     image: phpmyadmin/phpmyadmin:latest      image: phpmyadmin/phpmyadmin:latest
-     links: 
-       - db 
     ports:      ports:
       - ${PHPMYADMIN_PORT}:80        - ${PHPMYADMIN_PORT}:80
Line 37: Line 80:
       - PMA_PASSWORD=${DB_PASSWORD}        - PMA_PASSWORD=${DB_PASSWORD}
     volumes:      volumes:
-        - /sessions +      - /sessions 
-     container_name: "lampp-phpmyadmin"+       - ./phpmyadmin/config.user.inc.php:/etc/phpmyadmin/config.user.inc.php 
 +     container_name: "lamp-phpmyadmin"
-* .env [#s7065a67]+-- MYSQL_ROOT_HOST は、デフォルトが"%"のハズだけど何故かそうならない版の為に追加。
- # web +** web/added_php.ini [#h2ee6eec] 
- WEB_PORT=10080+ 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"
- # phpMyAdmin +** web/Dockerfile [#j80a33bf] 
- PHPMYADMIN_PORT=10081+ 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"]
- # db +** db/conf.d/my.cnf [#d2f2697d] 
- DB_PORT=13306 + [mysqld] 
- DB_PASS=rootpass+ character-set-server=utf8mb4 
 + collation-server=utf8mb4_bin 
 +  
 + [client] 
 + default-character-set=utf8mb4 
 + 
 +** phpmyadmin/config.user.inc.php [#i55bafe9] 
 + <?php 
 +  
 + // Maximum execution time = no limit 
 + $cfg['ExecTimeLimit'] = 0; 
 +  
 + // phpinfo enable 
 + $cfg['ShowPhpInfo'] = true;
« Prev[3]