怎么使用Docker搭建PHP开发环境

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么使用Docker搭建PHP开发环境相关的知识,希望对你有一定的参考价值。

参考技术A 在Docker流行之前,要搭建开发环境通常有两种选择:一种是使用wamp、xampp、mamp等集成开发环境安装包,另外一种就是使用普通虚拟机来安装linux服务器,然后通过下载一键安装包(如:lnmp)或者逐个安装做需要的软件。前者虽然简单,但太不灵活,想要安装额外的软件或者版本会很麻烦或者干脆不知道如何下手;后者除了费时费力,占用本机资源过多,可能会导致系统运行缓慢,而且如果你忘了及时生成快照,一旦失误,追悔莫及。
幸好,Docker来了!它简单易用,灵活多变,方便迅捷,扫除了以上种种弊端。如果你想稍微详细的认识下这位虚拟化界的明星,传送门( 快速理解Docker )。
安装Docker
平时开发的环境一般都是Mac或者windows,Linux暂时没有研究,所以接下来只针对前两者写下步骤,这两个平台,官方都推荐了两种安装方式:app和工具包(toolbox)。注:app方式对系统版本和配置会有一定要求,而且Windows需要你安装微软虚拟化产品Hyper-V,具体见app链接页面。
APP
https://docs.docker.com/docke...
https://docs.docker.com/docke...
工具包
https://www.docker.com/produc...
以上方式本质上都会在你的系统中安装docker-engine、docker-machine、docker-compose和VirtualBox(除了Windows的app方式)。因为docker高度依赖linux内核提供的cgroup,namespace 等特性和接口,所以mac和windows平台需要使用docker-machine和虚拟机在后台创建运行一个linux内核。
而我的安装方式就是直接在 Mac 上使用brew,如果你未曾安装brew,则在终端执行以下代码:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安装docker所需要的包:
brew install docker docker-machine docker-compose virtualbox
创建一个do

Docker秒搭建Php7开发环境

原文:Docker秒搭建Php7开发环境

一直听说Docker比较厉害,但是一直没有了解,今天在哔哩哔哩上刷了一下入门课后,简直发现新大陆般,Docker的强大真的了解太晚了。这篇使用Docker搭建php7环境的文章需要一点入门知识。下面开始。

环境

首先安装Docker,无论你是Windows还是Linux、MocOS都可以。安装Docker自行百度。

Docker镜像源

访问https://hub.docker.com即可,它是镜像大仓库。

安装Ngnix镜像

输入:

docker pull nginx

安装php镜像

docker pull php:7.1.30-fpm

实例化

实例化准备

新建几个文件夹,分别用来映射:网站根目录、nginx配置文件、日志文件

mkdir -p ~/nginx/www ~/nginx/logs ~/nginx/conf

在新建的www目录中新建:index.php用来检测php环境是否搭建成功:

<?php
   phpinfo();
?>

在nginx配置文件目录conf下新建:test-php.conf,后缀是.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  /www/$fastcgi_script_name;
        include        fastcgi_params;
    }
}

这是php最常见的默认配置,默认就好。

实例化php

docker run --name  myphp7 -v ~/nginx/www:/www  -d php:7.1.30-fpm

实例化nginx

docker run --name php-nginx -p 80:80 -v ~/Documents/dock/nginx/www:/usr/share/nginx/html -v ~/Documents/dock/nginx/conf:/etc/nginx/conf.d --link myphp7:php -d nginx

这是指定端口,网站根目录,网站配置文件目录,其实没有指定网站日志目录,不知道你有没有看出来,哈哈哈!

输入docker ps看看:

技术图片
docker ps

访问:127.0.0.1


技术图片
phpinfo()界面

当然这是完全顺利的结果,需要前期不断尝试,刚刚试了很多坑才明白其中的一些细节。弄明白后使用觉得Docker部署真的是方便快捷,沙盒机制很干净。

挖个小坑,接下来继续研究,Flask+uwsgi+nginx使用docker需要怎么操作部署。

以上是关于怎么使用Docker搭建PHP开发环境的主要内容,如果未能解决你的问题,请参考以下文章

怎么使用Docker搭建PHP开发环境呢?

如何 在Docker窗口中部署PHP开发环境

Docker秒搭建Php7开发环境

Mac 使用docker搭建PHP环境

在MAC上利用Docker镜像搭建PHP5.2开发环境

使用Docker link快速搭建PHP开发环境