一个 PHP 多版本共存 docker 环境

PHP · qianyugang · 于 1年前 发布 · 1180 次阅读

可直接运行的多版本PHP共存的Docker环境,目前支持 php5.6 / php7.2 / php7.4 共存。

项目地址:

https://github.com/qianyugang/docker-mutli-php-versions

文件结构

├── conf //配置文件
│   ├── nginx
│   │   ├── conf.d
│   │   │   ├── php56site.com.conf
│   │   │   ├── php72site.com.conf
│   │   │   └── php74site.com.conf
│   │   └── nginx.conf
│   └── php
│       ├── php-fpm.d
│       │   └── www.conf
│       └── php.ini
├── docker-compose.yml
├── log //日志文件
│   ├── nginx
│   │   ├── access.log
│   │   └── error.log
│   └── php-fpm
├── php
│   ├── php56
│   │   └── Dockerfile
│   ├── php72
│   │   └── Dockerfile
│   └── php74
│       └── Dockerfile
├── readme.md
└── site //网站目录
    ├── php56site
    │   └── index.php
    ├── php72site
    │   └── index.php
    └── php74site
        └── index.php

使用方法

启动:

docker-composer up -d

停止:

docker-composer stop

重启 nginx

docker-composer restart nginx

进入 php 容器

docker-compose exec php56 /bin/bash

docker-compose exec php72 /bin/bash

docker-compose exec php74 /bin/bash

注意事项

  • 本地host配置
    • host文件添加指向本地配置
  • PHP插件安装
    • 在对应PHP版本的Dockerfile文件中使用docker-php-ext-install安装
  • docker内网连接ip问题
    • 如果需要从内网中连接使用宿主机的ip,mac版本需要使用内置docker.for.mac.host.internal作为ip配置。
  • docker源问题
    • 可以添加国内源提速
  • 容器内域名请求
    • 使用network中的alias别名实现容器内域名请求

参考

本文由 qianyugang 创作,采用 知识共享署名 3.0 中国大陆许可协议 进行许可。 可自由转载、引用,但需署名作者且注明文章出处。

本帖已被设为精华帖!
共收到 0 条回复 资源
没有找到数据。
添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册