https://github.com/yuxingfei/docker_lnmp Docker Web環境搭建,包括Nginx容器、Mysql5.6容器、PHP-FPM7.2容器、PHP-FPM7.4容器、Redis6.0容器,PHP_FPM中已安裝GD、Redis、Mysql、Pdo_Mysql、Mysqli基礎擴展
docker_lnmp(https://github.com/yuxingfei/docker_lnmp)
docker_lnmp docker web環境,包含 Linux、nginx官方最新版、mysql5.6、php-fpm7.2、php-fpm7.4、redis6.0鏡像,其中php-fpm鏡像都加載了gd、mysql、pdo_mysql、mysqli、redis相關常用擴展
docker-compose.yml文件敘述
mysql56:
#mysql5.6數據庫鏡像
image: 474949931/mysql56:v1
#暴露內部服務訪問端口
expose:
- "3306"
#宿主機端口與容器端口映射
ports:
- "3306:3306"
#掛載mysql data存儲目錄
volumes:
- ./mysql/data:/var/lib/mysql
#設置mysql初始化root密碼,自行更改
environment:
- MYSQL_ROOT_PASSWORD=root
redis6:
#根據redis文件夾中Dockerfile文件進行鏡像構建,生成redis6.0版本容器
build: ./redis
#暴露內部服務訪問端口
expose:
- "6379"
#宿主機端口與容器端口映射
ports:
- "6379:6379"
#掛載redis配置文件,和redis持久化數據目錄
volumes:
- ./redis/conf/redis.conf:/usr/local/etc/redis/redis.conf
- ./redis/data:/data
php-fpm72:
#php-fpm7.2鏡像,根據官方鏡像加載了redis、pdo_mysql、mysql、gd等常用php擴展
image: 474949931/php-fpm72:v2
expose:
- "9000"
#php-fpm執行用戶,鏡像中默認爲www-data用戶,指定爲宿主機php-fpm的執行用戶,用戶id需要根據宿主機的用戶id自行填寫,列如:id www 可查看www的用戶id,填寫即可
user: 1001:1001
#掛載數據捲到php-fpm中
volumes:
- ./nginx/www:/var/www/html
#連接mysql和redis服務,供內部訪問使用
links:
- mysql56
- redis6
php-fpm74:
image: 474949931/php-fpm74:latest
expose:
- "9000"
#執行用戶
user: 1001:1001
volumes:
- ./nginx/www:/var/www/html
links:
- mysql56
- redis6
nginx:
image: nginx:latest
expose:
- "80"
ports:
- "80:80"
volumes:
- ./nginx/www:/usr/share/nginx/html
- ./nginx/conf:/etc/nginx/conf.d
links:
- php-fpm74
- php-fpm72
補充
交流QQ羣:682096728