docker 灵活的构建 PHP 环境

这篇博客详细介绍了如何使用docker一步步构建PHP环境,包括手动下载镜像、通过--link方式运行容器,以及使用docker-compose自动化部署。内容涵盖了MySQL、Redis、PHP-FPM和Nginx的配置与联动,并提及了PHP扩展安装方法。此外,还讨论了如何在宿主机调度PHP脚本以及MySQL8的远程访问设置。最后,提供了群聊和相关学习资源的福利。
摘要由CSDN通过智能技术生成
使用docker搭建灵活的线上php环境 有时候你可能不太需要一些别人已经集成了的包或者镜像 
我们就可以使用以下方式自己动手逐一构建自己所需要的环境结构 并在最后实现一键自动化部署 
一步一步点亮docker技能树
                    ##         .
              ## ## ##        ==
           ## ## ## ## ##    ===
       /""""""""""""""""".__/ ===
  ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ /  ===- ~~~
       ._____ o           __/
         .   .        __/
          .___.______/

 

* 首先 clone [server] 项目 放到服务器根目录(到后面你也可以构建自己风格的环境结构)

 

(一阶) 使用 docker 逐一构建

1. 下载镜像

docker pull php:7.2-fpm 冒号后选择版本

docker pull nginx

docker pull mysql:5.7 不需要本地数据库可忽略

docker pull redis:3.2 不需要本地 redis 可忽略

docker images 查看已下载的所有镜像

2. 下载完成镜像后运行容器 [以下采用 --link 方式创建容器 注意创建顺序]

 

 

注:
-i 表示允许我们对容器进行操作
-t 表示在新容器内指定一个为终端
-d 表示容器在后台执行
/bin/bash 这将在容器内启动bash shell
-p 为容器和宿主机创建端口映射
--name 为容器指定一个名字
-v 将容器内路径挂载到宿主机路径
--privileged=true 给容器特权,在挂载目录后容器可以访问目录以下的文件或者目录
--link可以用来链接2个容器,使得源容器(被链接的容器)和接收容器(主动去链接的容器)之间可以互相通信,解除了容器之间通信对容器IP的依赖

 

<运行 mysql 容器>

docker run --name mydb -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

注:-MYSQL_ROOT_PASSWORD=123456 给mysql设置初始密码
如果不需要搭建本地数据库直接下一步

 

<运行 redis 容器>

docker run --name myredis -p 6379:6379 -d redis:3.2

注: 如果不需要搭建本地redis直接下一步

<运行 php 容器>

docker run -d -p 9000:9000 --name myphp -v /server/www:/var/www/html -v /server/php:/usr/local/etc/php --link mydb:mydb --link myredis:myredis --privileged=true php:7.2-fpm

注: 如果不需要搭建本地数据库或者redis可以省去--link mydb:mydb --link myredis:myredis 注意-v 挂载一个空文件夹是会覆盖容器中的内容,所以配置文件要事先准备好 

<运行 nginx 容器>

docker run --name mynginx -d -p 80:80 -v /server/www:/usr/share/nginx/html -v /server/nginx:/etc/nginx -v /server/logs/nginx.logs:/var/log/nginx --link myphp:myphp --privileged=true nginx

注:
-v语句冒号后是容器内的路径 我将nginx的网页项目目录 配置目录 日志目录分别挂载到了我事先准备好的/server目录下
--link myphp:myphp 将nginx容器和php容器连接 通过别名myphp就不再需要去指定myphp容器的ip了 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值