前言
使用的云服务器到期了,买的时候打折的力度的比较大,但是续费的时候就非常昂贵了,只得用新用户换一家厂商的云服务器。但是可怕的问题就来了,我又得重新搭建一次开发环境。每次搭建php的开发环境都十分麻烦。为了下一次被迫迁移方便一点,我果断决定用docker来部署我的小站点,也方便下一次迁移,所以特意记录一下我的操作流程,其中还是有一些需要注意的问题。我就遇到了一些奇怪的问题。
操作步骤:
1.制作镜像。
nginx和mysql都直接使用官方镜像就好,不需要特殊操作。php可能需要安装一些第三方php扩展,我使用的是laravel框架,因此需要一些php扩展。其它框架,可能需要根据情况,安装一些其它扩展。php的Dockerfile如下
1 | FROM php:7.2-fpm |
其它扩展安装参考官方说明https://hub.docker.com/_/php/
2.配置docker-compose文件
我是用的docker-compose去启动整个镜像,docker-compose.yml文件如下
1 | version: '2.2' |
这里需要注意的是,nginx和php都需要映射到外界目录。
3.修改nginx.conf文件
将php迁移到docker部署,nginx.conf的配置文件跟我们平常是使用的还是有些不太一样。
1 | user nginx; |
1 | fastcgi_pass php:9000; |
这一行,原本我们在物理机的时候,是写成 127.0.0.1:9000,但是启用docker后,php和nginx有各自的网络地址,因此这里要改为php。因为我们使用了docker-compose部署,这里的php指向的就是我们部署php所在docker的地址。
4.启动
需要在docker-compose.yml的同级目录下,执行docker-compose up -d这个命令,去启动容器。关闭容器可用命令docker-compose down命令。