使用docker-compose快速搭建PHP開發環境


一、前期准備

需要准備phpmysqlnginx鏡像。下面是我安裝的鏡像。

[root@localhost ~]# docker images
REPOSITORY                        TAG                 IMAGE ID            CREATED             SIZE
docker.io/phpdockerio/php72-fpm   latest              01cc79d26d94        9 days ago          164 MB
docker.io/mysql                   latest              e3fcc9e1cc04        13 days ago         544 MB
docker.io/nginx                   latest              8cf1bfb43ff5        13 days ago         132 MB

目錄結構如下:

[root@localhost ~]# tree /www
/www
├── conf
│   └── php.conf
├── logs
└── web
    └── index.php

3 directories, 2 files

web 是網站的目錄
conf Nginx的配置目錄

其中,/www/conf/php.conf下的文件內容如下:

server {
	listen	80;
	server_name	localhost;

	location / {
		root	/usr/share/nginx/html;
		index	index.html index.htm index.php;
	}

	error_page	500 502 503 504	/50x.html;
	location = /50x.html {
		root	/usr/share/nginx/html;
	}

	location ~ \.php$ {
		fastcgi_pass	php:9000;
		fastcgi_index	index.php;
		fastcgi_param	SCRIPT_FILENAME	/web/$fastcgi_script_name;
		include		fastcgi_params;
	}
}

二、編寫docker-compose.yml文件

在工作的目錄下創建docker-compose.yml文件。

version: "2.3"
services:
  nginx:
    image: nginx
    privileged: true
    ports: 
      - "80:80"
    volumes: 
      - /www/web:/usr/share/nginx/html
      - /www/conf:/etc/nginx/conf.d
      - /www/logs:/var/log/nginx
    networks:
      - web-net
  php:
    image: phpdockerio/php72-fpm
    privileged: true
    volumes:
      - /www/web:/web
    networks:
      - web-net
  mysql:
    image: mysql
    ports:
      - "3306:3306"
    environment:
      - MYSQL_ROOT_PASSWORD=root
    networks:
      - web-net
networks: 
  web-net:

嚴格注意yaml格式。

privileged 用來設置容器,需要操作掛載的權限

實例:

[root@localhost ~]# docker-compose up -d
Creating network "root_web-net" with the default driver
Creating root_nginx_1 ... done
Creating root_php_1   ... done
Creating root_mysql_1 ... done

構建成功
/www/web下,新建index.php,能正常訪問。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM