- mikechernev/dockerised-php
- Making your dockerised PHP application even better
- Dockerise your PHP application with Nginx and PHP7-FPM
Required
- Docker (+docker-compose, docker-machine, docker-nightly)
file strunture
. .. code/ index.html index.php code2/ index.html index.php docker-compose.yml log.conf site.conf site.1.conf
docker-compose.yml
web: image: nginx:latest ports: - "80:80" # local port : docker port volumes: - ./code:/code # local dir : docker dir # - .:/usr/share/nginx/html[www] ubuntu default folder - ./site.conf:/etc/nginx/conf.d/site.conf # local nginx conf : docker nginx conf links: - php php: image: php:7-fpm volumes: - ./code:/code # local dir : docker dir
version: '2' services: web: image: nginx:latest ports: - "80:80" volumes: - ./code:/code - ./net.gag1.test:/net.gag1.test - ./site.conf:/etc/nginx/conf.d/default.conf - ./site.1.conf:/etc/nginx/conf.d/net.gag1.test.conf networks: - code-network php: image: php:fpm volumes: - ./code:/code - ./net.gag1.test:/net.gag1.test - ./log.conf:/usr/local/etc/php-fpm.d/zz-log.conf networks: - code-network networks: code-network: driver: bridge
Nginx Conf
server { index index.php index.html; server_name localhost domain.com; error_log /var/log/nginx/error.log; access_log /var/log/nginx/access.log; root /code; location / { try_files $uri $uri/index.php; } location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass php:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; } }
server { index index.php index.html; server_name localhost test.domain.com; error_log /var/log/nginx/error.log; access_log /var/log/nginx/access.log; root /code2 location / { try_files $uri $uri/index.php; } location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass php:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; } }
hosts
127.0.0.1 domain.com test.domain.com
Run docker
./docker-compose up
Broswer Check
- http://domain.com
- http://test.domain.com
Dockerfile
Maybe wanted github.cm/chronon/ext.txt - List of docker-php-ext-install extension names
FROM php:7-fpm RUN docker-php-ext-install bcmath RUN docker-php-ext-install bz2 RUN docker-php-ext-install calendar RUN docker-php-ext-install ctype RUN docker-php-ext-install curl RUN docker-php-ext-install dba RUN docker-php-ext-install dom RUN docker-php-ext-install enchant RUN docker-php-ext-install exif RUN docker-php-ext-install fileinfo RUN docker-php-ext-install filter RUN docker-php-ext-install ftp RUN docker-php-ext-install gd RUN docker-php-ext-install gettext RUN docker-php-ext-install gmp RUN docker-php-ext-install hash RUN docker-php-ext-install iconv RUN docker-php-ext-install imap RUN docker-php-ext-install interbase RUN docker-php-ext-install intl RUN docker-php-ext-install json RUN docker-php-ext-install ldap RUN docker-php-ext-install mbstring RUN docker-php-ext-install mcrypt RUN docker-php-ext-install mysqli RUN docker-php-ext-install oci8 RUN docker-php-ext-install odbc RUN docker-php-ext-install opcache RUN docker-php-ext-install pcntl RUN docker-php-ext-install pdo RUN docker-php-ext-install pdo_dblib RUN docker-php-ext-install pdo_firebird RUN docker-php-ext-install pdo_mysql RUN docker-php-ext-install pdo_oci RUN docker-php-ext-install pdo_odbc RUN docker-php-ext-install pdo_pgsql RUN docker-php-ext-install pdo_sqlite RUN docker-php-ext-install pgsql RUN docker-php-ext-install phar RUN docker-php-ext-install posix RUN docker-php-ext-install pspell RUN docker-php-ext-install readline RUN docker-php-ext-install recode RUN docker-php-ext-install reflection RUN docker-php-ext-install session RUN docker-php-ext-install shmop RUN docker-php-ext-install simplexml RUN docker-php-ext-install snmp RUN docker-php-ext-install soap RUN docker-php-ext-install sockets RUN docker-php-ext-install spl RUN docker-php-ext-install standard RUN docker-php-ext-install sysvmsg RUN docker-php-ext-install sysvsem RUN docker-php-ext-install sysvshm RUN docker-php-ext-install tidy RUN docker-php-ext-install tokenizer RUN docker-php-ext-install wddx RUN docker-php-ext-install xml RUN docker-php-ext-install xmlreader RUN docker-php-ext-install xmlrpc RUN docker-php-ext-install xmlwriter RUN docker-php-ext-install xsl RUN docker-php-ext-install zip
반응형
'virtual > Docker' 카테고리의 다른 글
Docker for Linux 일반계정 사용 (0) | 2017.08.01 |
---|---|
Docker for CentOS7 (0) | 2017.07.31 |
Docker for Ubuntu (0) | 2017.07.29 |
Docker 치트 시트 (0) | 2016.08.10 |
Docker Kitematic / ToolBox (0) | 2016.08.10 |