lnmp团队开发环境docker环境搭建PHP7.2 mac系统为例

docker-compose-nginx-php-mysql

docker-compose+nginx+php+mysql+redis+elasticsearch
fox.风

本次案例以 mac系统为例,其他系统等有时间了再制作

github库

https://github.com/foxiswho/docker-compose-nginx-php-mysql
喜欢的同学可自行下载

版本

php:5.6.x
php:7.x

mysql:5.6.x
mysql:5.7.x

nginx:latest

elasticsearch:latest

nginx docker内配置文件位置

配置文件位置:/etc/nginx/nginx.conf

来源:官方源

php docker内配置文件位置

来源:官方源

配置文件及目录位置

/usr/local/etc/php-fpm.conf

/usr/local/etc/php-fpm.d/www.conf

/usr/local/etc/php-fpm.d 目录

php.ini 默认加载目录位置

/usr/local/etc/php/conf.d/ 目录

扩展目录位置

/usr/local/lib/php/extensions/

redis

来源:官方源

Mac系统 docker 安装案例

Mac系统 安装方式

https://www.docker.com/docker-mac

下载该软件,安装略

开始设置目录

菜单->Preferences->File Sharing,点 + 号,选择 跟目录下的 Volumes 文件夹,点击 Apply & Restart 按钮

设置阿里云源
菜单->Preferences->Daemon ,Basic 选项卡 ,Registry mirrors 下,点 + 号,把你的阿里云镜像加速地址加入进去。

阿里云镜像加速地址类似于这种格式https://******.mirror.aliyuncs.com,

如果设置自己的阿里云镜像加速地址
到阿里云控制台找到属于自己的 镜像加速地址:https://cr.console.aliyun.com/#/accelerator

加速地址设置教程-> https://yq.aliyun.com/articles/29941

0.首先MAC系统硬盘设置

mac 系统默认硬盘默认 不区分大小写

如果需要区分请 按 http://blog.csdn.net/fenglailea/article/details/53083785 此链接中教程 重新分区。

建议分区,我这里是分区的

建立 一个 10G 卷名为work的分区,格式化为区分大小写格式。

注意也可以不分区,/Volumes/目录下建立一个软连接文件夹也可以

1.选择要安装的系统和版本

例如:mac系统 php 7.2版本,进入mac-php72-swoole目录

cd mac-php72-swoole

2.docker-compose.yml配置更改

选择你需要的功能,不需要的用#号注释掉

3.建立目录和文件

新建目录

mkdir -p /Volumes/work/wwwroot/

Volumes: MAC系统 卷 硬盘名称都会显示在里面,work单独的分区

work:分区名称

wwwroot:自定义目录,默认目录

/Volumes/work/wwwroot/ 目录下
新建 index.php

<?php
phpinfo();

4.生成镜像

这个时候 一定不能更换目录。

注意 如果你以前已经配置过一样的容器那么会自动覆盖容器

docker-compose up

时间比较长, 更新源都在国外,最好早晨拉取

完成后,在浏览器里面输入localhost回车,即可看到phpinfo输出信息

PHP 7.1 PHP7.2 已自动启用全部扩展,低版本 请自行开启扩展

PHP 7.1 PHP7.2 已自动启用全部扩展
低版本 请自行开启扩展

安装完成后 一定要配置PHP,主要启用PHP扩展
主要 启用PHP扩展

docker exec -it macphp71_1 /start.sh

macphp71_1 容器名字可能生成的不一样

X.问题

X.1 权限问题

设置 可读写执行权限

chmod -R 777 /Volumes/work/wwwroot

更改下载镜像名称

下载镜像和容器前缀名称是根据当前项目目录名设置的。
例如当前项目目录为mac-php72-swoole,那么镜像和容器的前缀名为 macphp72swoole

=============================================================

以下为 手动配置 从空白的 docker 如何集成 开发套件的简单步骤

nginx 配置

本配置 nginx 默认启动时已经自动配置了,
以下是手动配置方法

进入nginx容器

docker exec -it compose_nginx_1 bash

compose_nginx_1 容器名字可能不一样
配置nginx.conf

vim /etc/nginx/nginx.conf

找到如下配置

include /etc/nginx/conf.d/*.conf;

修改为:(根据你自己分区名称置修改)

include /Volumes/work/vhost/*.conf; 

保存和退出容器

php 配置

跟nginx类似

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
Docker Compose是一个用于定义和运行多个Docker容器的工具。通过使用Docker Compose,您可以快速搭建LNMP(Linux、NginxMySQLPHP开发环境。下面是一个快速搭建LNMP开发环境的示例docker-compose.yml文件: ```yaml version: '3' services: nginx: image: nginx:latest ports: - 80:80 volumes: - ./nginx.conf:/etc/nginx/nginx.conf - ./html:/usr/share/nginx/html depends_on: - php php: image: php:7.4-fpm volumes: - ./php.ini:/usr/local/etc/php/php.ini - ./html:/var/www/html depends_on: - mysql mysql: image: mysql:latest ports: - 3306:3306 environment: - MYSQL_ROOT_PASSWORD=your_password volumes: - ./mysql:/var/lib/mysql ``` 在上面的示例中,我们定义了三个服务:nginxphpmysqlnginx服务使用nginx:latest镜像,并将主机的80端口映射到容器的80端口。同时,我们将nginx.conf文件和html文件夹分别挂载到容器内的对应路径。php服务使用php:7.4-fpm镜像,并将php.ini文件和html文件夹挂载到容器内的对应路径。mysql服务使用mysql:latest镜像,并将主机的3306端口映射到容器的3306端口。我们还设置了MYSQL_ROOT_PASSWORD环境变量,并将mysql文件夹挂载到容器内的/var/lib/mysql路径。 要快速搭建LNMP开发环境,您只需在包含docker-compose.yml文件的目录中运行以下命令: ```shell docker-compose up -d ``` 这将启动所有定义的服务,并将它们放在后台运行。现在,您可以通过访问http://localhost来访问您的LNMP开发环境

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风.foxwho

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值