当前位置:网站首页 > PHP开发 > 正文

Docker 搭建PHP开发环境_docker搭建php开发环境

1. Docker 简介

Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、 bare metal、OpenStack 集群和其他的基础应用平台。

2. 为什么要使用docker

作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势。

  1. 更高效的利用系统资源
  2. 更快速的启动时间
  3. 一致的运行环境
  4. 持续交付和部署
  5. 更轻松的迁移
  6. 更轻松的维护和扩展
  7. 对比传统虚拟机总结
特性 容器 虚拟机
启动 秒级 分钟级
硬盘使用 一般为 MB 一般为 GB
性能 接近原生 弱于
系统支持量 单机支持上千个容器 一般几十个

3. Docker 搭建PHP开发环境

3.1 拉取镜像

docker pull php:5.6-fpm docker pull nginx docker pull redis 

3.2 创建网络

docker network create -d bridge php-net 

3.3 启动容器

#启动redis docker run --name redis-web -d --network php-net -p 6380:6379 redis #启动php容器  docker run --name php-web -d --network php-net -p 9001:9000 -v { 
   本机项目路径}:/var/www/html  php:5.6-fpm  
#启动nginx 容器 
docker run --name nginx-web -d --network php-net -p 80:80 -v /Users/macbook/Desktop/docker/nginx/www:/usr/share/nginx/html -v /Users/macbook/Desktop/docker/nginx/conf:/etc/nginx/conf.d  nginx  
#其中  #/Users/macbook/Desktop/docker/nginx/www 为本机项目路径 #/Users/macbook/Desktop/docker/nginx/conf 为nginx 配置配置文件夹  

3.4 修改 nginx 配置文件

server { 
    listen 80; listen [::]:80; server_name localhost; #access_log /var/log/nginx/host.access.log main; location / { 
   
        root   /usr/share/nginx/html;
        index  index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html #
    error_page   500 502 503 504  /50x.html; location = /50x.html { 
   
        root   /usr/share/nginx/html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { 
    # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { 
    fastcgi_pass 172.18.0.3:9000; # PHP容器的 域名和端口 fastcgi_index index.php;
        fastcgi_param  SCRIPT_FILENAME  /var/www/html$fastcgi_script_name; # PHP容器的项目路径 fastcgi_param PATH_INFO $1; # TP需要path_info include fastcgi_params; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { 
    # deny all; #} } 

3.5 安装PHP扩展

docker exec -it php-web bash cd /usr/local/bin ./docker-php-ext-install pdo_mysql ./docker-php-ext-install mysql // php7以上需要mysqli 取消了mysql 扩展 ./docker-php-ext-install bcmath ./docker-php-ext-install mbstring #相关依赖安装 apt-get update && apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libmcrypt-dev libpng-dev docker-php-ext-install -j$(nproc) iconv docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ docker-php-ext-install -j$(nproc) gd apt-get install -y --no-install-recommends libgmp-dev && \ rm -r /var/lib/apt/lists/* && \ docker-php-ext-install -j$(nproc) gmp 1.curl -L -o /tmp/redis.tar.gz https://github.com/phpredis/phpredis/archive/3.1.3.tar.gz 2.tar xfz /tmp/redis.tar.gz 3.rm -r /tmp/redis.tar.gz 4.mkdir -p /usr/src/php/ext 5.mv phpredis-3.1.3 /usr/src/php/ext/redi 6.docker-php-ext-install redis Amqp: 1.apt-get install librabbitmq-dev 2.pecl install amqp 3.docker-php-ext-enable amqp 

扩展参考文章

1. https://www.cnblogs.com/yinguohai/p/11329273.html
2. redis : https://www.cnblogs.com/wyaokai/p/11904701.html
3. redis: https://www.cnblogs.com/louis6575/p/12543517.html
Docker 搭建PHP开发环境

4. 补充

4.1 可能用到的 shell 命令

lsof -i :9001 #查看端口占用情况 service nginx reload #重启nginx 容器 

4.2可能用到的 docker 命令

#复制本地文件到docker 容器 docker cp /Users/macbook/Desktop/docker/nginx/conf/default.conf nginx-web:/etc/nginx/conf.d/default.conf # 进入容器 docker exec -it cb6c1fe83bff(php容器ID) bash #stop停止所有容器 docker stop $(docker ps -a -q) #查看已经下载的镜像 docker image ls #删除容器 docker rm { 
   容器ID} #删除镜像 docker rmi { 
   imageID} #查看容器信息 docker inspect php01 #一次启动 nginx php redis容器(ps:推荐做法为为该命令取别名,更方便操作) docker start nginx-web php-web php-web-73 php-web-80 redis-web 
到此这篇Docker 搭建PHP开发环境_docker搭建php开发环境的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 如何在VSCode配置PHP开发环境(详细版)_vscode配置phpstudy2024-10-30 15:09:04
  • PHP+MySQL制作简单动态网站(附详细注释+源码)_php+mysql动态网站开发实例教程2024-10-30 15:09:04
  • 最新最全 VSCODE 插件推荐(2024版)_vscode插件大全2024-10-30 15:09:04
  • 23种PHP开发工具PHP IDE集合_开发php的工具2024-10-30 15:09:04
  • 如何提升PHP技能:从初学者到高级开发者的实用指南2024-10-30 15:09:04
  • Java 程序员全面成长计划_java 程序员全面成长计划怎么写2024-10-30 15:09:04
  • PHP:IntelliJ IDEA 配置 PHP 开发环境及导入PHP项目_idea运行php项目2024-10-30 15:09:04
  • PHP常用开发工具_php常用开发工具有哪些2024-10-30 15:09:04
  • 超详细Visual Studio Code配置PHP开发环境 / 如何运行HTML,PHP文件_vs code怎么运行php2024-10-30 15:09:04
  • PHPstudy+Vscode配置php开发环境_visual studio code php 环境配置2024-10-30 15:09:04
  • 全屏图片